我有一个非常奇怪的问题与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错误吗?