CORS-preflight-channel失败,但标题似乎没问题

时间:2018-10-18 12:00:09

标签: jquery asp.net cors

我有一个包含一组小部件的ASP.Net Web应用程序。这些小部件使用jQuery通过AJAX调用获取其内容。升级到.Net 4.6.1之后,这些小部件将无法在远程站点上正常工作。可悲的是我无法恢复到4.5,所以我必须在4.6.1中修复它。也许任何其他更改都导致了失败,但是我想不出任何会影响此操作的更改。

在Chrome中,我得到了404

  

https://leasescanner.nl/ajaxlibrary.asmx/GetWidgetForm 404(未找到)

随后是https://autolease.nl的CORS错误:

  

无法加载https://leasescanner.nl/ajaxlibrary.asmx/GetWidgetForm:   飞行前响应没有HTTP正常状态。

在firefox中,没有404错误,并且网址似乎正常。 https://leasescanner.nl/ajaxlibrary.asmx/GetWidgetForm?cwEntityGuid=c5019e1d-34ae-4609-beeb-a01300d27a70工作完美。

当我查看CORS标头时,它们似乎匹配:

请求:

  
      
  • 访问控制请求标题:内容类型
  •   
  • 访问控制请求方法:POST
  •   
  • 来源:https://www.autolease.nl
  •   
  • 用户代理:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 69.0.3497.100   Safari / 537.36
  •   

响应:

  
      
  • 访问控制允许标题:内容类型
  •   
  • 允许访问的方法:GET,PUT,POST,DELETE,OPTIONS
  •   
  • 访问控制允许来源:*
  •   
  • 访问控制公开标题:
  •   
  • 请求-上下文连接:保持活动内容长度:0日期:18岁,星期四
  •   
  • 2018年10月11:13:03 GMT请求上下文   appId = cid-v1:eeb945a7-90ca-4f39-98f3-3160b63f1cee
  •   
  • 服务器:nginx
  •   
  • X-Powered-By:ASP.NET
  •   

这是我的AJAX呼叫:

jQuery.ajax({
    url: domain + "/ajaxlibrary.asmx/GetWidgetForm",
    type: "POST",
    data: "{'cwEntityGuid': '" + jQuery(item).data('cwentity') + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        jQuery(item).html("<form id='form_" + jQuery(item).data('cwentity') + "' method='get' data-postdomain='" + postdomain + "' " + cwreferral + " data-url='" + jQuery(item).data('url') + "' action='" + postdomain + jQuery(item).data('url') + "' >" + data.d + "</form>");
   }
});

我的Web.Config中有以下部分,它似乎可以正常工作(查看响应头):

<location path="ajaxlibrary.asmx/GetWidgetContent">
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</location>

我在做什么错? .Net 4.6.1有什么变化吗?

0 个答案:

没有答案