`

直接获得Ajax返回值

    博客分类:
  • Ajax
阅读更多
1、直接获得DWR返回值,不用写回调函数
//创建对象
function DwrObject(){
    //后台类使用的参数,公有属性
    this.param1="";
    this.param2="";
    this.param3="";
    //私有属性
     var result = "";
    this.getResult=function(){
        DWREngine.setAsync(false);
        yourDWRClass.methodName(this.param1,this.param2,this.param3,
        function(data){result = data;});
        DWREngine.setAsync(true);
        return result;
    }
}
//调用
function yourMethod(){
    var dwrObject = new DwrObject();
    dwrObject.param1="内容";
    dwrObject.param2="内容";
    dwrObject.param3="内容";
    alert("返回结果:" + dwrObject.getResult());
}
特点:不需要action参与,直接调用后台类,可以避免表单提交时get方法带来的内容有限的限制。
2、使用原生态Ajax直接获得返回值
//定义对象
var result="";
function textHandler(text){
    result=text;
}
function requestURL(urlstr){
    var xmlhttp = getXMLHttpRequest();
    var handlerFunction = getReadyStateHandler(xmlhttp,textHandler);
    xmlhttp.onreadystatechange = handlerFunction;
    xmlhttp.open("GET", urlstr, false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xmlhttp.send(null);
    return result;
}
function getXMLHttpRequest() {
    var xmlreq = false;
    result="";
    if (window.XMLHttpRequest) {
// 在非Microsoft浏览器中创建XMLHttpRequest对象
xmlreq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
//通过MS ActiveX创建XMLHttpRequest
try {
    // 尝试按新版InternetExplorer方法创建
   xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
    // 创建请求的ActiveX对象失败
    try {
// 尝试按老版InternetExplorer方法创建
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e2) {
// 不能通过ActiveX创建XMLHttpRequest
    }
}
    }
    return xmlreq;
}
function getReadyStateHandler(req,responseTextHandler) {
// 返回一个监听XMLHttpRequest实例的匿名函数
    return function () {
// 如果请求的状态是 完成
if (req.readyState == 4) {
    // 检查是否成功接收了服务器响应
    if (req.status == 200) {
// 将载有响应信息的XML传递到处理函数
responseTextHandler(req.responseText);
    } else {
// 有HTTP问题发生
// alert("HTTP error: "+req.status);
return false;
    }
}
    }
}
//使用
var url="你的请求路径(urld地址,servlet,action)";
var result = requestURL(url);
alert("返回结果:" + result);
特点:依赖url请求,通过后台输出流返回结果,会因为form的get方法限制提交内容。
0
3
分享到:
评论

相关推荐

    jquery中获得$.ajax()事件返回的值并添加事件的方法

    如果想获得$.ajax()中返回的值,直接用在success:funciton(){return xx} 是不可以的,要想获得xx的值,要在script中,使用全局变量。利用全局变量引出xx的值。jquery 取得$.ajax事件中的返回值,并添加事件 代码如下...

    jquery-1.1.3 效率提高800%

    // the options for this ajax request }返回值: XMLHttpRequest 使用GET请求一个页面。 这是向服务器发送get请求的简单方法。它可以指定一个回调函数,在请求完成后执行(只有在请求成功时)。如果还...

    dwr入门+springmvc实现

    利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置...

    基于Jquery+Ajax+Json的高效分页实现代码

    如果说您没用过这些东东的话,我相信看完这篇博文会对您有帮助的,,如果有任何问题不懂或者有bug没... vs2010+sql2005express 正文 首先我们创建一般处理程序,来读取数据库中内容,得到返回值. 创建文件,GetData.a

    jquery插件使用方法大全

    开发人员借此可以使用无法立即获得的返回值(如异步Ajax请求的返回结果),而且第一次能够附加多个事件处理器。 例如,使用了新的jQuery内部Ajax API就可以实现下面的代码了: // Assign handlers immediately ...

    乐优商城.xmind

    可以利用url直接查询数据库,能否访问得到数据 报错 启动类 没有扫描到 @MapperScan("com.leyou.item.mapper") ,目录结构关系 访问网页报错 CORS policy: No 'Access-Control-Allow-Origin' header is ...

    ExtAspNet_v2.3.2_dll

    -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页...

    layui动态渲染生成select的option值方法

    直接拼接,然后根据返回值渲染select // 动态渲染脚本类型下拉框 // 1.发送ajax请求得到data // 2.将data渲染到页面上 function getDataList() { // 请求 $.ajax({ type:'post', url: "/cd/workPlatform/...

    《javaScrip开发技术大全》源代码

    • sample04.htm 直接将函数的返回值输出 • sample05.htm 通过事件调用函数 • sample06.htm 递归调用函数 • sample07.htm 递归调用函数(使用临时的函数名) • sample08....

    jQuery详细教程

    $(selector).focus(function) 触发或将函数绑定到被选元素的获得焦点事件 $(selector).mouseover(function) 触发或将函数绑定到被选元素的鼠标悬停事件 四. jQuery实例 jQuery hide() 演示简单的 jQuery hide() ...

    jQuery完全实例.rar

    如果你想得到 jQuery对象,可以使用 $(this) 函数。 jQuery 代码: $("img").each(function(){ $(this).toggleClass("example"); }); -----------------------------------------------------------------------...

    千方百计笔试题大全

    20、以下二条语句返回值为true 的有: 10 21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常...

    java面试宝典

    20、以下二条语句返回值为true 的有: 10 21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常...

    大名鼎鼎SWFUpload- Flash+JS 上传

    当文件上传时,用户获得的可用的反馈信息很少。 传统的HTML上传模式十分简单,线性的,几乎所有浏览器都支持它。 SWFUpload SWFUpload使用一个隐藏的Flash影片来控制文件的选择和上传。JavaScript用来激活文件...

    【05-面向对象(下)】

    Lambda表达式需要返回值,而它的代码块中仅有一条省略了return的语句,Lambda表达式会自动返回这条语句的 值。 Lambda表达式与函数式接口 •如果采用匿名内部类语法来创建函数式接口的实例,只要实现一...

    xheditor-1.1.14

    说明:通过本参数,在非标准submit提交环境下,比如AJAX提交,可以由用户点击提交按钮以触发编辑器最新值的同步 备注:v1.1.7新添加 onPaste:剪切板粘贴回调函数 参数值:用户粘贴后需要执行的函数 说明:此函数...

Global site tag (gtag.js) - Google Analytics