使用POST方法调用REST api会调用GET方法
Invoking REST api using POST method invokes GET method
我正在开发一个firefox插件,它使用post方法调用rest api。如果使用POST调用,则其余api将持久化数据。如果使用GET方法调用它,它将检索先前保存的数据。
但是在某些情况下,即使使用POST数据调用,api也会返回持久化的数据。
我在困惑是否我发送数据的方式是错误的,或者是否有什么问题与api。但是大多数请求都得到了正确的服务。所以,我不认为插件有什么问题。后端在ROR上。
任何帮助将是伟大的!
谢谢。
RESTful服务在响应POST时返回(已更新的)数据的副本是很常见的。
你真正关心的是当你POST时它正在更新远程数据。无论它是否返回该数据的副本,您都可以安全地忽略。
如果是间歇性的,一种可能是服务器和客户端之间存在HTTP缓存,该缓存实现得很差,并且不能正确区分GET和POST方法。也许它试图返回一个缓存副本,就好像你发送了一个POST请求,但你发送了一个GET请求。
代替"在某些情况下"表示"对于某些URL ",那么您可能要发送到类似于"/foo"的URL。(没有尾斜杠),服务返回301或302,将客户端重定向到"/foo/"(以斜杠结尾)。大多数用户代理会将302的POST改为GET,有些用户代理会将301的POST改为GET。如果您可以控制服务器,则应该使用303或307。看到https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p2-semantics-16 section-8.3.3
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- javascript从子方法调用父方法
- 我应该返回一个类似console.log()的方法调用吗
- NodeJS-从同一文件中的另一个方法调用一个方法
- 使用restangular save方法调用put与post时的控件
- 从实例方法调用实例方法
- Node.js-异步方法调用问题
- Jquery事件绑定获胜'当作为方法调用时不起作用,但当直接在控制台中调用时会起作用
- 向模板实例变量传递调用方法调用的结果时出现异常
- jQuery 方法调用了两次
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- 组合 onLayout 的方法调用
- lodash/下划线 - 使用绑定与方法调用和方法保持未绑定
- 从公共方法调用模块的私有函数
- 如何对 jqGrid 的 loadComplete 和 onSelectRow 进行基因预和后方法调用
- 完全限定的 JavaScript 方法调用
- 为什么我在 Angular JS 中收到两个方法调用
- 如何在从排序方法调用参数时将其传递给回调
- 使用两种不同的方法调用方法
- 如何在 javascript 中更改方法调用的全局范围