首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jquery promise,在post请求成功后链接get请求

jquery promise,在post请求成功后链接get请求
EN

Stack Overflow用户
提问于 2018-06-19 03:52:29
回答 1查看 23关注 0票数 0

我正在尝试使用jQuery (当前版本3.2.1)学习promises。

我只想在post请求成功后运行get请求,但我当前的代码无法工作。提交数据可以正常工作,但get请求不会运行。我不确定如何将这两个操作链接起来?

$('#newPoiForm').submit(function (e) { // handle the submit event
  e.preventDefault();
  let formData = $(this).serialize();
  console.log(formData);

  $.post({
      type: 'POST',
      url: '/api/pois/',
      data: formData
    }).done(function(){
      console.log('new asset submitted')
      return $.get({url: '/api/pois/last'})
    }).then(function (data) {
      // do stuff
  })
EN

回答 1

Stack Overflow用户

发布于 2018-06-19 03:55:52

这里的问题是在第一个回调中使用done() --这是一个遗留的jQuery问题,不会链接承诺。如果您将其更改为then(),它应该可以正常工作:

$.post({
  type: 'POST',
  url: '/api/pois/',
  data: formData
}).then(function(){           // don't use done()
  console.log('new asset submitted')
  return $.get({url: '/api/pois/last'})
}).then(function (data) {
  // do stuff
});

有关更多详细信息,请参阅此答案:jQuery deferreds and promises - .then() vs .done()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50916572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档