我有一个ajax函数调用,其变量sum值为5.但是当我尝试在ajax函数调用之外访问此变量时,我得到null值。 有没有办法访问ajax函数之外的值?
$.ajax({
type: "POST",
url: "Service.asmx/chart",
data: appid,
success: function(data) {
var mydata = 5;
}
});
alert(mydata);
答案 0 :(得分:0)
试试这个:
$.ajax({
type: "POST",
url: "Service.asmx/chart",
data: appid,
success: function(data) {
doGetMyData(data);
}
});
function doGetMyData(data){
alert(data);
}
答案 1 :(得分:0)
第一个" A"在AJAX中意味着异步,因此您的代码在请求完成之前运行警报。要实现您想要的目标,您可以尝试使请求同步,为查询添加async:false选项:
$.ajax({
type: "POST",
url: "Service.asmx/chart",
data: appid,
async:false,
success: function(data) {
doGetMyData(data);
}
});
function doGetMyData(data){
alert(data);
}
坏消息是同步请求会锁定您的浏览器,直到它完成,这是一个很好的实践,以避免这种情况。