[英]Define a Global variable in jQuery/javascript
在JavaScript / jQuery中定義全局變量,然后在腳本中獲取它。
但是奇怪的是它沒有用。
在控制台中打印getResult
給我undefined
。
但是當嘗試在分配給它的值之后立即打印getResult
時,它為我提供了准確的值。
其實我需要在底部的ajax結果..我怎么做..?
var getResult;
$.getJSON(url, function(data) {
//JS statement to Ajax
//JS statement to Ajax
$.ajax({
type: "post",
dataType: "json",
url: urlTo,
data: dataSend,
success: function (result, status) {
getResult = result;
console.log(getResult); // getResult is working here
}
});
//JS statement to Ajax
//JS statement to Ajax
$.ajax({
type: "post",
dataType: "json",
url: urlTo2,
data: dataSend2,
success: function (result2, status) {
}
});
console.log(getResult); // getResult is not working here. Giving " undefined" result here.
});
JavaScript是同步的 。 AJAX是異步的 。
因此, console.log(getResult);
在執行以下AJAX之前,底部觸發
success: function (result, status) {
getResult = result;
console.log(getResult); // getResult is working here
}
您可以給getResult
一個默認值並自己進行測試。
這是因為只有在AJAX調用完成后才定義getResult
,才聲明它。
由於AJAX是異步的,因此您的第一個控制台日志是這樣的:
var getResult;
console.log(getResult);
您可以在這里給我getResult
的值嗎? 不,因為它是未定義的(實際上它的值是undefined
, shhh )
在第二個AJAX調用中,您未分配getResult = result2;
導致"undefined"
值。
另外,將全局var = getResult;
在getJSON
函數中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.