嗨,我正在尝试在sencha touch中使用Ajax发出POST请求。
我的问题是当我发送请求时,我的服务器接受它作为OPTIONS请求。
我的代码是:
var post_json = {usrname:username,password:password};
Ext.Ajax.request({
url: 'http://localhost:3000/',
method: "POST",
params: {
user_session: post_json
},
success: function(){
alert("sucessful");
},
failure: function(){
alert("fail");
}
});
我该如何解决这个问题?
答案 0 :(得分:1)
添加参数:
useDefaultXhrHeader : false
如果没有,GET和POST方法请求将包含X-Requested-With标头。我认为这个标头是发送OPTIONS方法请求的原因。
答案 1 :(得分:0)
这是一个关于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 Developer Server中不行。
答案 2 :(得分:-3)
使用JSON而不是Ajax.request