当您引入警报时它起作用的原因是,它停止了执行并为异步调用提供了足够的时间来完成。
您没有获得正确的值,因为在发布请求完成且回调已执行时,您的Javascript已经完成执行。
您在这里有一些选择:
- 声明全局变量并执行同步调用,您可以使用发布的代码ABC进行此操作,也可以
$.ajaxSetup({ async: false })在POST调用之前进行调用。将返回值分配给全局变量并对此进行验证。 - 使用jQuery的ajaxStop:
$(document).ajaxStop(function() { //check your values here, still need to declare a global }); - 将值写入DOM中任何位置的隐藏div /作为属性,并使用计时器定期检查它,直到有值为止。



