1、服务端支持jsonp方式的跨域
在使用第3方api的时候,可以在地址后面加上callback=func来测试api提供方,是否支持callback方式解决跨域问题。
string callback = Request["callback"]; string json = "{'name':'zhaoyihao','age':18}"; Response.Write(callback+"("+json+")");
<script type="text/javascript"> function json (data) { console.log(data.name); } var script=document.createElement('script'); script.src="http://localhost:1095/index?callback=json"; document.body.appendChild(script); </script>
2、服务端设置允许跨域方式解决跨域问题
web.config中的webserver节点,
Access-Control-Allow-Origin表示允许哪些域名访问,实际项目中可以设置只有自己的客户端访问才可以。
<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> </customHeaders> </httpProtocol>