0

我正在运行 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;
}
4

1 回答 1

0

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

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

于 2013-05-30T00:39:34.317 回答