我有以下ajax方法。在成功时,我想设置一个全局变量,但它似乎不起作用 - 控制台返回空对象。它只适用于我将异步定义为false的情况。不过,我想保持ajax方法异步。我怎样才能使这个工作?jQuery Ajax Post - 无法使用回调函数设置全局变量?
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);
2016-10-24
adam78
+0
的可能的复制[JavaScript的:Ajax请求后,全局变量(http://stackoverflow.com/questions/3222347/javascript-global-variables-after-ajax-requests) –
+0
http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call –
+0
@Ted对于你的信息它根本不懒惰。我一直在抓我的头,搜索几个小时。如果你不能像其他一些人那样发布任何有用的答案,那么不要将每个问题都标记为潜在的重复。如果任何事情你懒惰的人,如果你不能提出一个解决方案,有一些解释。 –