`

直接获得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
分享到:
评论

相关推荐

    js获取ajax返回值代码

    设置为false时,虽然可以立即得到数据处理,但这会阻塞浏览器,导致用户体验下降,因此一般推荐保持默认值true。 参数cache用于防止请求发送时,浏览器直接使用缓存副本,而不是实际从服务器获取最新数据。在开发...

    ajax实现josn,xml,txt返回数据

    直接使用`responseText`即可得到文本内容。 ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'your-api-url.txt', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && ...

    jquery ajax 同步异步的执行 return值不能取得的解决方案

    首先,我们来看一下,为什么在$.ajax()方法中直接使用return语句不能取得值。假设我们有一个函数如下: ```javascript function getReturnAjax() { $.ajax({ type: "POST", data: "username=" + vusername.value...

    chm格式的asp.net2.0 ajax帮助文档

    **ASP.NET 2.0 AJAX 知识点详解** ASP.NET 2.0 AJAX(Asynchronous JavaScript and XML)是...利用这个工具,你可以深入学习每个类和方法的参数、返回值以及用法,从而更加熟练地运用ASP.NET 2.0 AJAX框架进行开发。

    Ajax无刷新实现获取动态页面数据

    - `@ResponseBody`注解表示该方法的返回值将直接写入HTTP响应体,适合返回JSON或XML数据。 ### 三、Ajax与前端框架的结合 随着前端框架如React、Vue和Angular的普及,它们提供了更高级别的API和生命周期方法来简化...

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

    首先,需要注意的是,在 $.ajax() 的 success 回调函数中直接返回值是不正确的操作,因为这里的返回并不会影响外部代码。返回值应该赋给一个外部定义的变量,通常这个变量会声明在外部作用域中,以便在其他地方使用...

    jquery中ajax函数执行顺序问题之如何设置同步

    例如,在我们遇到的问题中,`existProduct`函数中的AJAX请求还未获得响应,函数就执行了`return falg`语句,导致了逻辑顺序的混乱。 要实现同步执行,可以通过设置AJAX请求的`async`参数为`false`来达到目的。`...

    通过Ajax进行Post提交Json数据的方法

    2. `url : js_path + "/maintainAdd/add"`:定义请求的URL,这里是通过`js_path`变量拼接得到的,表明请求的目标是服务器上的`/maintainAdd/add`接口。 3. `data : JSON.stringify(madd_data.editMaintain)`:`data...

    MVC下使用ajax接收后台的map值 笔记

    - 成功解决方案:最后通过在Maven仓库中找到最新版本的`jackson-databind`、`jackson-core`和`jackson-annotations`包,并替换为相同版本(例如2.10.3),问题得到了解决。这是因为这些包提供了将Map对象转换为JSON...

    javascript ajax类AJAXRequest2007-12-31 更新

    这意味着 `action` 和 `method` 属性必须直接在 `<form>` 标签中定义。 - **示例**: ```html <!-- 表单内容 --> var form = document.getElementById('myForm'); ajax.post(form, function(response) { ...

    Ajax中responseText返回的是一个页面而不是一个值

    当AJAX通过XMLHttpRequest对象向服务器发起请求,并希望获取到一个特定的值,如整数、字符串等作为响应时,有时候却得到了整个HTML页面的源代码。这种情况通常发生在服务器端对请求的处理上存在问题,比如服务器端的...

    jquery ajax 调用失败的原因示例介绍

    另一个重要的知识点是,当Ajax调用失败时,浏览器可能会直接跳转到error回调函数,而不会执行success回调函数。在本文提供的代码示例中,如果服务器返回的数据格式不正确或数据类型有误,那么success回调函数中添加...

    jquery-1.1.3 效率提高800%

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

    asp.net AJAX实现无刷新获得数据

    此外,返回值"true"和"false"对于实际应用来说过于简单,可能会存在歧义,建议使用更详细的返回数据,比如返回JSON格式数据,使得前端更容易处理成功或失败的逻辑。 从技术角度来说,*** AJAX的使用涉及到了...

    javascript直接排序

    首先,我们需要计算总页数,这可以通过数据长度除以每页显示的数目得到,结果向下取整。然后,根据当前页码,我们可以计算出应该显示的数据范围,并对数组进行切片操作。 ```javascript var pageSize = 10; // 每页...

    jQuery AJAX 方法success()后台传来的4种数据详解

    在前端,需要使用JSON.parse()方法来解析返回的JSON字符串,然后根据解析得到的对象属性进行相应的处理。 4. 后台返回一个实体类列表 当需要返回一个实体类对象的列表时,我们同样需要定义好对应的实体类,例如...

    jQuery_1.4中文文档

    这在之前的版本中是无法实现的,开发者通常需要通过 `$.ajax` 方法的返回值来间接访问这个对象。这一改动大大简化了处理 AJAX 响应的过程,使得开发者可以直接访问 `XMLHttpRequest` 对象,以便于进一步处理响应头、...

    PHP中运用jQuery的Ajax跨域调用实现代码

    // 获得返回值 }); } ``` 这段代码使用了jQuery的`$.getJSON`函数,这是一个异步请求JSON数据的方法。`http://123.123.123.123/?callback=?`是请求的URL,`callback=?`表示使用JSONP机制,`?`会被替换为实际的回...

Global site tag (gtag.js) - Google Analytics