AJAX跨越获取不了数据解决方法 http://pan.baidu.com/s/1i432xq1
怎么算是跨域:
1:域名不一致
2:域名一直,端口不一致
3:一个程序用域名,一个程序用IP
AJAX跨越请求报错一处理
XMLHttpRequest cannot load http://localhost:9999/Home/Save. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:29949' is therefore not allowed access.
第一种方法:配置文件加以下代码:
1 <!--start处理跨越安全性问题--> 2 <httpProtocol> 3 <customHeaders> 4 <add name="Access-Control-Allow-Origin" value="*" /> 5 <add name="Access-Control-Allow-Headers" value="Content-Type" /> 6 <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> 7 </customHeaders> 8 </httpProtocol> 9 <!--end处理跨越安全性问题-->

第二种解决方法在控制器加上
Response.AddHeader("Access-Control-Allow-Origin", "*");

这里 Response.AddHeader("Access-Control-Allow-Origin", "*");;这句很重要,没有这句,前端接收不到返回的数据。
Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,
用来解决资源(比如字体)的跨域权限问题。它定义了该资源允许被哪个域引用,
或者被所有域引用(google字体使用*表示字体资源允许被所有域引用),
但是在真正的产品中,是不会用*的。这里只是好方便演示。
浙公网安备 33010602011771号