准备写api试试,但是ajax一直遇到跨域问题,postman都能正确获取,所以查资料
Posted 东方华夏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了准备写api试试,但是ajax一直遇到跨域问题,postman都能正确获取,所以查资料相关的知识,希望对你有一定的参考价值。
function goupdathyzt(sqid, zt) { $.ajax({ async: false, url: "http://localhost:17298/api/aaa/sss", type: "get", //必填 contentType: "application/json; charset=utf-8", data: { "huo_id": 13, "huozhu_id": 7 },//必要 timeout: 5000, //服务器段返回的对象包含name,data属性. success: function (result) { alert(result.obj.huo_num); }, error: function (jqXHR, textStatus, errorThrown) { alert(textStatus); } }); }
在global中增加如下
protected void Application_BeginRequest() { if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS") { Response.End(); } }
配置文件中增加
<system.webServer> <httpProtocol> <!--跨域配置开始--> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <!--支持全域名访问,不安全,部署后需要固定限制为客户端网址--> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> <!--支持的http 动作--> <add name="Access-Control-Allow-Headers" value="Content-Type" /><!--//,X-Requested-With,token--> <!--响应头 请按照自己需求添加 这里新加了token这个headers--> <add name="Access-Control-Request-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> <!--允许请求的http 动作--> </customHeaders> <!--跨域配置结束--> </httpProtocol>
非常感谢这两位博文
以上是关于准备写api试试,但是ajax一直遇到跨域问题,postman都能正确获取,所以查资料的主要内容,如果未能解决你的问题,请参考以下文章