【发布时间】:2017-03-06 15:21:12
【问题描述】:
我有以下 ajax 方法。成功后我想设置一个全局变量,但它似乎不起作用 - 控制台返回空对象。仅当我将异步定义为 false 时它才有效。但是我想保持 ajax 方法异步。我怎样才能让它工作?
var appointment = {};
if ($("#Appointment").is(":checked")) {
$.ajax({
type: "POST",
url: "someurl",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({
dateStart: moment()
}),
// async: false,
dataType: "json",
success: function(data) {
ajaxCallBack(data);
}
});
function ajaxCallBack(data) {
var response = $.parseJSON(data.d);
appointment = { startDate: response.startDate, endDate: response.endDate };
}
}
console.log(appointment);
【问题讨论】:
-
@Ted 供您参考,它一点也不懒惰。我一直在挠头并在谷歌上搜索了几个小时。如果您不想像其他人所做的那样发布任何有用的答案,那么请不要将每个问题都标记为潜在的重复问题。如果您懒得提交带有一些解释的解决方案,那么您就是懒惰的人。
-
@Ted 很明显,您没有花足够的时间阅读人们的 cmets,就像您懒惰提交任何有用的答案一样。我再重复一遍-在提交我自己的问题之前,我已经遇到过您提到的帖子。也许您没有意识到,将一个答案与每个问题联系起来并不总是非常清楚 - 因此为什么人们使用 stackoverflow 来获得一些额外的帮助和指导,而不是被像您这样的人贬低。
标签: javascript jquery ajax asynchronous