在继续执行代码之前,我需要等待ajax响应,否则未定义变量(数据)。 很难重写代码以将下一部分全部放入其自己的函数中。

下面的while循环只会使浏览器崩溃,有什么想法可以做类似的事情,但是行得通吗?

name = getName(id);

while (name == null || name == undefined) {
    //wait for response before continuing
} 
...

===============>>#1 票数:3 已采纳

将ajax更改为工作同步而不是异步:

jQuery的ajax

将async属性设置为false。 默认值为true。

$.ajax({
  url: "test.html",
  async: false,
  success: function(result) { // it will get here synced and not asynced!!! },
  ...........
});

顺便说一句,由于您执行了阻止操作,因此不建议这样工作。 这就是它返回承诺的原因。

===============>>#2 票数:0

您必须在后端回复后使用回调

例如jQuery

$.ajax({
    url:'/url',
    success : function(response){
           //your code here
    }

});

  ask by Andrew translate from so

未解决问题?本站智能推荐:

关注微信公众号