2014-07-08 7 views
0

我有我从哪里发送jquery ajax post请求到我的web服务的aspx页面。 我已将授权标头添加到邮寄电话。我的代码是: -从.aspx页面发出的授权标题的Ajax发布请求给出错误“选项405(方法不允许)”

$.ajax({ 
     type: "POST", 
     beforeSend: function (xhr) { 
       xhr.setRequestHeader("Authorization", "Bearer " + accessToken); 
     }, 
     url: " My Web Service URL ", 
     contentType: "application/json; charset=utf-8", 
     data: { HtmlText: data}, 
     datatype: 'json', 
     success: function (data) { 
      alert(JSON.stringify(data)); 
     } 
    }); 

在web.config中我已经添加: -

<system.webServer> 
<validation validateIntegratedModeConfiguration="false" /> 
<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="WebDAVModule" /> 
</modules> 
<httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    <add name="Access-Control-Request-Headers" value="Authorization, Content-Type"/> 
    <add name="Access-Control-Allow-Headers" value="Authorization" /> 
    <add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS" /> 
    </customHeaders> 
</httpProtocol> 
<handlers> 
    <remove name="WebDAV" /> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
    <remove name="OPTIONSVerbHandler" /> 
    <remove name="TRACEVerbHandler" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
</handlers> 
<directoryBrowse enabled="true" /> 

发送请求后,我得到响应的检查元素(铬): -

远程地址:“我的远程地址” 请求URL:“我的主机URL” 请求方法:选项 状态码:405 M ethod不允许

请求头查看源: -

接受:/ 接受编码:gzip,放气,SDCH 接受语言:EN-US,EN; Q = 0.8,ES; Q = 0.6,fr; q = 0.4,hi; q = 0.2 访问控制请求头:接受,授权,内容类型 访问控制请求方法:POST 连接:保持活动 主机:我的主机URL“ 来源:测试 引用:/test/MyPage.aspx 用户代理:Mozilla/5.0(Windows NT 6.1; WOW64)为AppleWebKit/537.36(KHTML,例如Gecko)铬/ 35.0.1916.153 Safari浏览器/ 537.36

响应头视图源: -

接入控制允许接头:原产地,X-请求-随着,内容类型,接受 访问控制允许方法:GET,POST,PUT,DELETE,选项 访问控制允许来源:* 允许:POST 缓存控制:无缓存 内容长度:76 Content-Type:application/json;字符集= UTF-8 日期:星期二,2014年7月8日十二时42分10秒GMT 截止日期:-1 杂注:无缓存 服务器:Microsoft-IIS/7.5 X-ASPNET-版本:4.0.30319

回答

0

在MVC 5 Web Api中首先,我在cross.domain的web.config文件中添加了customHeader,但没有按预期得到输出。所以我将[EnableCors(“”,“”,“*”)]添加到控制器中的每个方法中,并获得所需的输出。奇怪!但得到了输出。

相关问题