【发布时间】:2013-03-13 08:26:12
【问题描述】:
我正在运行 ajax/jsonp/Get 请求。使用提琴手我可以看到一个正确的响应( jsonpCallBack({"GetMetadataResult":{"TotalPages":"20"}}); )但是在请求时,ajax调用只是返回没有运行成功,错误,完成, 或 callbackFnt 脚本。稍后,在我的函数完成后,运行 ajax 成功脚本。不知道我做错了什么。
function getRequest( url, data )
{
var ajaxRequest = undefined; // The variable that makes Ajax possible
//"Content-type": "application/json; charset=utf-8",
var response = $.ajax( {
"url": url,
"type": "GET",
"dataType": "jsonp",
"data": data,
"contentType": "application/json; charset=utf-8",
"jsonpCallback": "jsonpCallBack",
"success": function ( r )
{
return r;
},
"complete": function ( r )
{
for ( var i = 0; i < r.count; i++ )
{
return r;
}
},
"error": function ( xhr )
{
return false;
}
} );
return true;
}
function jsonpCallBack( r )
{
return r;
}
【问题讨论】:
-
看起来 ajax 正在发送消息,但在返回之前没有等待响应。当它得到响应时,它会运行成功脚本,但是到那时我的代码的其余部分已经运行了。
-
还应该提到 async:false 没有帮助