6

PHP 以 1-2 秒的延迟返回值 jQuery.post 不等待响应。

您如何看待,是否有可能解决该问题并等待响应?

    $.post( sSource, aoData, function (data) {    
        oCache.lastJson = jQuery.extend(true, {}, data);
        if ( oCache.iCacheLower != oCache.iDisplayStart )
        {
            data.aaData.splice( 0, oCache.iDisplayStart-oCache.iCacheLower );
        }
        data.aaData.splice( oCache.iDisplayLength, data.aaData.length );
         abc(oCache);
        fnCallback(data); 
    },"json" );

请注意与 get 相同的功能效果很好

    $.getJSON( sSource, aoData, function (json) { 
        /* Callback processing */
        oCache.lastJson = jQuery.extend(true, {}, json);

        if ( oCache.iCacheLower != oCache.iDisplayStart )
        {
            json.aaData.splice( 0, oCache.iDisplayStart-oCache.iCacheLower );
        }
        json.aaData.splice( oCache.iDisplayLength, json.aaData.length );

        fnCallback(json)
    } );
4

1 回答 1

22

$.post 是异步的,你需要使用 $.ajax 并将 async 设置为 false,这样你就可以等待响应。你可以在这里阅读更多关于它的信息:http: //api.jquery.com/jQuery.ajax/

于 2012-05-13T21:05:53.053 回答