Jquery 全局变量值未超出ajax方法
我从后面返回Json对象,并尝试在全局变量中绑定响应。 **从C#返回** **下面是我的ajax调用函数**Jquery 全局变量值未超出ajax方法,jquery,ajax,Jquery,Ajax,我从后面返回Json对象,并尝试在全局变量中绑定响应。 **从C#返回** **下面是我的ajax调用函数** var responeOfData; var feb; var mar; $.ajax({ url: "CashManagement/GetCashOverview", type: 'GET', dataType: 'json', // added data type success: function (res) {
var responeOfData;
var feb;
var mar;
$.ajax({
url: "CashManagement/GetCashOverview",
type: 'GET',
dataType: 'json', // added data type
success: function (res) {
responeOfData = res;
feb = res.february; // ** getting the value here **
mar = res.march;
}
});
var test = feb; **not getting the value here**
在上面的代码中,我声明了一个全局变量responeOfData,并尝试设置结果值,但它在ajax函数外不起作用,然后我声明了另外两个全局变量feb和mar,并设置了响应值,它显示了函数内的值,并且我尝试在test变量中分配它在功能之外,它什么也没有显示。到底出了什么事我不明白。有人能帮我吗?Ajax请求是异步的,这意味着请求后的代码行不能保证在请求完成后运行,这就是为什么存在
success
回调,以便在请求成功后运行代码
这意味着这是实现您想要的目标的正确方法:
var responeOfData;
var feb;
var mar;
var test; // declare globar variable test
$.ajax({
url: "CashManagement/GetCashOverview",
type: 'GET',
dataType: 'json', // added data type
success: function (res) {
responeOfData = res;
feb = res.february; // ** getting the value here **
mar = res.march;
test = feb; // assign value to variable
}
});
如果您坚持请求是同步的,您可以指定async
选项并将其设置为false
var responeOfData;
var feb;
var mar;
$.ajax({
url: "CashManagement/GetCashOverview",
type: 'GET',
dataType: 'json', // added data type
success: function (res) {
responeOfData = res;
feb = res.february; // ** getting the value here **
mar = res.march;
},
async: false // make ajax request synchronous
});
var test = feb; //feb exists;
Ajax请求是异步的,这意味着请求后的代码行不能保证在请求完成后运行,这就是为什么存在
success
回调,以放置代码在成功请求后运行
这意味着这是实现您想要的目标的正确方法:
var responeOfData;
var feb;
var mar;
var test; // declare globar variable test
$.ajax({
url: "CashManagement/GetCashOverview",
type: 'GET',
dataType: 'json', // added data type
success: function (res) {
responeOfData = res;
feb = res.february; // ** getting the value here **
mar = res.march;
test = feb; // assign value to variable
}
});
如果您坚持请求是同步的,您可以指定async
选项并将其设置为false
var responeOfData;
var feb;
var mar;
$.ajax({
url: "CashManagement/GetCashOverview",
type: 'GET',
dataType: 'json', // added data type
success: function (res) {
responeOfData = res;
feb = res.february; // ** getting the value here **
mar = res.march;
},
async: false // make ajax request synchronous
});
var test = feb; //feb exists;