Rails API-移动应用程序状态文本错误

Rails API - Mobile app status text error

本文关键字:文本 错误 程序状态 应用 API- 移动 Rails      更新时间:2023-09-26

我有一个连接到Rails服务器的移动应用程序。

当我试图用JSON请求修改应用程序中Rails数据库中的Item时,在第一次发出ajax请求时,我会收到一条错误消息。

{"readyState":0,"responseText":"","status":0,"statusText":"error"}

带有

 $.ajax({
    url: 'xxx',
    type: 'PUT',
    data: item,
    dateType: 'json'
    success: (response) ->
    error: (response) ->
      alert JSON.stringify(response) # {"readyState":0,"responseText":"","status":0,"statusText":"error"}

如果我检查Rails日志,则不会调用给定控制器的服务器操作PUT

然后,我的浏览器会自动重新加载。现在,如果我尝试修改项目,一切都正常。。。

你知道为什么吗?

编辑

对我的Rails API(除了PUT)的每一个其他操作调用都成功。

感谢这篇文章,我找到了答案:

Ajax请求是通过表单提交或单击链接触发的,并且您没有在事件处理程序中调用e.preventDefault()。浏览器将继续提交表单,或者按照链接执行Ajax代码。表单提交或链接跟随将获胜,浏览器将立即终止您的请求并返回readyState 0。

添加e.preventDefault会阻止表单提交(提交=刷新,因为我使用的是一页模板)。