jQuery DELETE请求的奇怪行为

时间:2014-04-08 16:44:33

标签: javascript jquery json ruby-on-rails-4 http-delete

我有一个非常奇怪的问题与RESTful json界面交互,似乎无法在任何地方诊断它。

使用jQuery,我向JSON api发送DELETE请求并收到204响应。调用成功方法。一切都很开心。

$.ajax({
  type: "DELETE",
  url: "/content_blocks/" + $(this).parent().attr('id'),
  dataType: "json",
  success: deleteItem($(this).parent())
});

来自Firebug控制台:

> DELETE http://localhost:3000/content_blocks/228 204 No Content 92ms

现在我用另一个项目做同样的事情并得到这个:

> DELETE http://localhost:3000/content_blocks/231 (spinning circle loading forever)

服务器发送相同的响应,jQuery触发成功回调。但显然从未收到回应。

如果我发送第三个DELETE请求,它会再次正常工作,显然会永远以这种方式交替。

我有另一个发送POST请求的ajax调用。我连续做了其中任何一个都没有问题。但是,如果我首先成功执行DELETE,然后执行POST,则POST的行为类似于第二个不成功的DELETE,但成功方法不会触发。如果我再做第二次POST,那就是第三次删除。

对我而言,这似乎与第一个DELETE请求有关,即使它成功,也会被破坏或无法正确重置。不知怎的,第二个请求会重置它。

我正在使用rails 4.1.0.rc1和jQuery 1.11.0,如果这有任何区别的话。

以前有人见过这样的事吗?

这可能是一个jQuery错误吗?

0 个答案:

没有答案