[英]JQuery ajax request - global variable
所以,我有這個代碼:
$.post("contacts.php",
{zip: $("#zip").val()}, "json").done(function(data){
var response = JSON.parse(data);
$("#city").val(response[0].city);
});}
它將郵政編碼發布到服務器,服務器返回與郵政編碼對應的城市名稱。 現在的問題是,我想在 done 函數之外訪問 response[0].city 。 問題是,我不能將其聲明為全局。 我試圖丟失 var,我讀到它聲明它是全局的,但沒有。 還試圖將它聲明為我的腳本中的第一件事,在任何函數之外,仍然沒有。 它無法訪問。 我還嘗試將一個完全不同的變量定義為全局變量,將響應變量傳遞給它以保存它。 還是不行。
我會使用$.ajax
而不是$.post
以便我可以使它與async: false
同步,然后只需在$.ajax
之前創建變量,如下所示:
var city;
$.ajax({
type: "POST",
url: "contacts.php",
data: { zip: $("#zip").val() },
success: function(data) {
var response = JSON.parse(data);
city = response[0].city;
},
// by setting async: false the code after the
// $.ajax will not execute until it has completed
async: false
});
// some operation with the city variable
注意:截至最近,jQuery 和現代瀏覽器不推薦使用async: false
。 您應該找到一個不涉及使用async: false
的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.