ajax jsonp获取请求在通话时跳过脚本,但稍后会触发它们

时间:2013-03-23 14:39:28

标签: ajax jsonp

我正在运行ajax / jsonp / Get请求。使用fiddler我可以看到一个正确的响应(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;
}

1 个答案:

答案 0 :(得分:0)

我不认为你的代码做错了什么,但设计是。没有你发现的同步JSONP这样的东西。来自http://api.jquery.com/jQuery.ajax/

“跨域请求和dataType: "jsonp"请求不支持同步操作”