如何使用代理模型发出POST请求而不是GET请求?

时间:2011-09-05 05:37:39

标签: javascript extjs

我在我的代码中使用此示例,由于某种原因它将请求发送为GET而不是POST,我没有看到在任何地方设置,我如何将其更改为Post?

http://dev.sencha.com/deploy/ext-4.0.2a/examples/grid/infinite-scroll.html

由于

2 个答案:

答案 0 :(得分:2)

Generaly jimbojw是对的。但是,您可以通过设置代理配置来使用POST

proxy: {
  type: 'ajax',
  url: 'test.php',
  getMethod: function(request){ return 'POST'; }
  // ...

答案 1 :(得分:1)

由于数据位于另一个域中,并且通过JSONP包含在内,因此GET是唯一可用的选项。

要发布信息,您需要位于同一个域中,以免违反Same Origin Policy,或使用Cross-Origin Resource Sharing

说了这么多,我在Ext.data.Store文档中没有看到任何专门讨论Proxy方法的内容,Ext.data.DataProxy文档也没有多大帮助。

而且,Quentin通常是正确的,你可能还是想要一个GET请求,因为这在语义上更合适。在某些情况下,您可能被迫使用POST,例如,如果您计划发送到服务器的数据量大于允许的GET URL长度,但通常这不应该是一个问题。