Sencha Touch 中的 POST 请求
Posted
技术标签:
【中文标题】Sencha Touch 中的 POST 请求【英文标题】:POST request in Sencha Touch 【发布时间】:2011-03-26 04:11:46 【问题描述】:您好,我正在尝试在 sencha touch 中使用 Ajax 发出 POST 请求。 我的问题是当我发送请求时,我的服务器接受它作为 OPTIONS 请求。 我的代码是: var post_json = 用户名:用户名,密码:密码 ;
Ext.Ajax.request(
url: 'http://localhost:3000/',
method: "POST",
params:
user_session: post_json
,
success: function()
alert("sucessful");
,
failure: function()
alert("fail");
);
我该如何解决这个问题?
【问题讨论】:
你是否也在做来自localhost:3000的请求?这可能与***.com/questions/1256593/… 重复 【参考方案1】:添加参数:
useDefaultXhrHeader : false
如果没有,GET 和 POST 方法请求将包含 X-Requested-With 标头。我认为这个标头是发送 OPTIONS 方法请求的原因。
【讨论】:
【参考方案2】:这是一个关于 CORS 的问题。这是我的 asp.net 的 web.conf:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type" />
</customHeaders>
</httpProtocol>
它在 IIS 服务器中工作,但在 Asp.net 开发服务器中不行。
【讨论】:
【参考方案3】:使用嵌入 Ajax.request 的 JSONP
【讨论】:
以上是关于Sencha Touch 中的 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章
Sencha Touch 2:同一个 Store 中的两个 REST 请求
Sencha Touch AJAX 请求问题:ReferenceError:找不到变量:请求
如何在 Sencha Touch 2 的 Ajax 请求中捕获请求异常?