簡體   English   中英

如何在此帖子(全局)中進行變量設置?

[英]How to make variable inside this Post, Global?

如何在此帖子(全局)中進行變量設置? console.log(BANK_NAME)在此POST函數中但未聲明未定義時返回值? 有人可以幫我解決這個問題嗎?

var param={'id':$('#bankId').val()};
BANK_NAME;
$.post('<?php echo base_url(); ?>Employees/loadBankDataByID',param,function(data){
    // console.log(data);
    var obj=JSON.parse(data);
    obj=obj[0];

    var BANK_NAME = obj.BANK_NAME;
    console.log(BANK_NAME);  // it returns that value.
});
console.log(BANK_NAME);  // it say undefined here/

這是因為您的POST請求是異步的。 換句話說,它發生在(同步)代碼執行的正常流程之外。

因此,這是一個在郵遞員送達信之前嘗試打開信的問題。

使用AJAX,您需要使用在請求完成時運行的回調。 您已經通過一些代碼完成了此操作。 只要確保所有依賴於請求結果的代碼都在回調中即可。

//initiate the request
var req = $.post('<?php echo base_url(); ?>Employees/loadBankDataByID',param);

//log a callback to run after the request succeeds
req.done(function(data){
    var obj=JSON.parse(data);
    obj=obj[0];
    var BANK_NAME = obj.BANK_NAME;
    console.log(BANK_NAME);
});

//we can log multiple callbacks - anything that depends on the request should go in one
req.done(function() {
    alert('request complete!');
});

暫無
暫無

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

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