请求返回未定义的结果
Ajax Request returns undefined result
我有一个问题与Ajax请求(基本功能)
这是ajax函数
function ajax(){
var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
if (window.ActiveXObject){
for (var i=0; i<activexmodes.length; i++){
try{
return new ActiveXObject(activexmodes[i])
}
catch(e){
}
}
}
else if (window.XMLHttpRequest)
return new XMLHttpRequest()
else
return false
}
这里有另一个函数
_2xm.load = function (p, type)
{
p = p.replace("frame_", "");
loading(type);
var req=new ajax();
var __page =encodeURIComponent(p);
req.open("GET", "page.php?page="+__page, true);
req.send(null);
req.onreadystatechange=function(){
if (req.readyState==4)
{
if (req.status==200 || window.location.href.indexOf("http")==-1)
{
loading(2);
return req.responseText;
}
else
{
loading(2);
return "An error was occured.... ";
}
}
}
}
是使用_2xm.load()
函数的部分代码:
_2xm.loadData = [_2xm.load(pg, 0), _2xm.now(), _2xm.interval * 60];
,但结果总是Undefined
,为什么?
您从未返回_2xm.load
的值,因此该函数隐式计算为undefined
。
只能从绑定到req.onreadystatechange
的匿名回调函数返回值,该回调函数在稍后的某个阶段异步触发,在对_2xm.load
的函数调用完成很久之后。
也许你应该考虑同步请求
相关文章:
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 解析-为什么user.getSessionToken()返回未定义的结果
- Chrome扩展,Chrome.tabs.query的结果未定义
- 从JSON API结果迭代时未定义
- json-api和错误结果:无法读取属性'长度'的未定义
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- Meteor js-控制台显示'未定义'即使返回结果
- 获取结果未定义(主干.js)
- 从 Angular 数据工厂中的 HTTP POST 请求接收未定义的结果
- 离子警报 - 检查结果是否未定义
- 使用String.FromCharCode时,jQuery返回未定义的结果
- 解析JSON字符串返回未定义的结果
- Javascript:添加键值对文字,给出未定义的结果
- Javascript/Underscore赢得't跳过未定义的结果
- 为什么这个JavaScript代码的结果是“;未定义”;
- 当我尝试两个 DOM 中的 get 元素时,HTML 和 Xpath 结果未定义
- 节点函数结果未定义
- GWT JSNI - Java到Javascript返回到Java结果未定义的参数
- 循环的结果未定义
- 点击获取元素 ID 结果未定义的 jquery