繁体   English   中英

无法从Ajax调用XrayWrapper获得responseText

[英]Can't get responseText from ajax call XrayWrapper

我正在使用IUI框架,并尝试从ajax调用中获取结果。

从firebug中可以看出,该调用返回一个“ XrayWrapper [Object XMLHttpRequest {}”,但是我无法从该对象中提取responseText。

在Firebug中展开时,responseText被列为一个属性,但是它以带有以下内容的浅灰色文本为前缀:get:“ get ResponseText”

    var data = iui.ajax('login.php',{'userName':'sysadm','password':'sysadm'},'POST',null,xxxx(data))
    console.log(data.responseText);

我尝试了许多不同的方法,包括data.get.responseText,data.get('responseText')等,但仍然无法获取响应。

知道为什么吗??

AJAX调用是异步的,这意味着它会触发AJAX请求并立即将data记录到控制台。 至此,AJAX调用尚未完成。 我不熟悉您使用的框架,但是您需要使用仅在异步请求完成后才执行的回调函数。

这里阅读IUI文档,似乎第四个参数是回调函数。 所以你需要这样做:

iui.ajax('login.php',{
        'userName':'sysadm',
        'password':'sysadm'
    },'POST', function(data) {
        // callback function. Only executes after ajax request completes
        console.log(data);
    }   
);

PS-另外,您还有一个额外的论点。 该文档仅显示四个参数urlparamsmethodcallback

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM