Jquery $.post $.get“異步”請求導致獲取不到返回值


今天做項目時,寫了一個數據庫查詢后返回的函數

function getpname(PARENT_ID){
    var pname='';
    $.post("/KEJITEMP/DealWithBT",{
        flag:"getpname",
        ID:PARENT_ID,
    },function(data){
        data=JSON.parse(data);
        pname = data.CNNAME;
        });
    return pname;
}

在調用時獲取到的pname返回值一直為undefined,然后想到$.post發得請求為“異步”請求,所以pname沒有被賦值就被返回了,經過alert驗證function對pname賦值確實在return之后。

因此上面的寫法顯然是錯誤的,需要將發送方式改為同步:

var pname='';//設置全局變量
    $.ajaxSettings.async=false;  //插入這個代碼用ajax的“同步方式”調用一般處理程序
    $.post("/KEJITEMP/DealWithBT",{
//另一種寫法時:
$.ajax({ url:
"", async: false,//改為同步方式 type: "POST",

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM