簡體   English   中英

$ .post()之后執行的代碼,后請求完成之前

[英]Code after $.post() is executed before post-request is finished

我試圖使用發布請求(jQuery的$ .post)從服務器獲取數據,並將其分配給JavaScript變量。

代碼如下:

function getData() {        
    var zones = DUMMY_zones;
    var workers = [];

    console.log("1");

    $.post('server/main.php', {info: 'req_workers'}, function(result) {
        var result = JSON.parse(result);

        console.log("2");

    });


    console.log("3");
    return [zones, workers];
}

但是奇怪的是,返回是在$ .post請求結束之前執行的,因此workers是未定義的變量。 控制台輸出如下:

ppe_c_js.js:82 1
ppe_c_js.js:90 3
ppe_c_js.js:85 2

如何順序執行代碼?

謝謝!

您可以使jquery post synchronous 但這是一個壞習慣。 因此,在操作過程中,您的瀏覽器將處於凍結狀態。

 $.ajax({ type: 'POST', url: url, data: data, success: success, dataType: dataType, async:false }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM