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 请求的主要内容,如果未能解决你的问题,请参考以下文章

如何将ajax请求放入sencha touch中的变量中?

Sencha Touch 2:同一个 Store 中的两个 REST 请求

Sencha Touch AJAX 请求问题:ReferenceError:找不到变量:请求

如何在 Sencha Touch 2 的 Ajax 请求中捕获请求异常?

如何在 sencha touch 中跨域发布 JSON 请求

如何在 Sencha Touch Ajax 请求中发现 302 响应