码迷,mamicode.com
首页 > Web开发 > 详细

js Jquery 跨域请求问题解决

时间:2015-10-11 18:14:55      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

Chrome报错:跨域问题处理( Access-Control-Allow-Origin)_ 用于本地测试的快捷解决方法

 

报错提示如下:

XMLHttpRequest cannot load http://www.xxxx.com/264/Data/GetScreenInfo. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access.

 

今天需要做一个本地测试,html中的js效果涉及跨域拉取数据的问题,Chrome报错并拒绝数据的提取,,,,

有一个便捷的处理方式可以在谷歌中实现数据跨域,只需要简单为浏览器键入一个值 --disable-web-security (这个值前有空格哦O(∩_∩)O~)后点击确定。

如下图:

技术分享

Tip:首先重启浏览器,再打开需要测试的文档即可。

 

 

查看链接:

CORS(跨域资源共享) http://www.360doc.com/content/14/0106/11/15643_343005039.shtml

新W3C标准中 AJAX 跨域实现以及隐患 http://huaidan.org/archives/2729.html

跨域访问资源 http://technet.microsoft.com/zh-cn/sqlserver/e36ceae6-ff36-4a1b-9895-75f0eacfe94c

----------------------------

在 Request 包和 Response 包中都有一些。

其中最敏感的就是 Access-Control-Allow-Origin 这个 Header, 他是W3C标准里用来检查该跨域请求是否可以被通过。 (Access Control Check)

跨域实现的过程大致如下:

从 http://www.a.com/test.html 发起一个跨域请求,

请求的地址为: http://www.b.com/test.php

如果 服务器B返回一个如下的header

Access-Control-Allow-Origin: http://www.a.com

那么,这个来自 http://www.a.com/test.html 的跨域请求就会被通过。

 

如上所知,总结解决办法如下:

 

1、如果请求的url是aspx页面,则需要在aspx页面中添加代码:Response.AddHeader("Access-Control-Allow-Origin", "*");

 

2、如果请求的url是PHP页面,则需要在PHP页面中添加代码:header("Access-Control-Allow-Origin: *");

 

3、如果请求的url是静态的html页面,则需要在页面中添加meta标签代码:<meta http-equiv="Access-Control-Allow-Origin" content="*" />

 

如果服务器端可以确定是要被哪些域名访问,最好是能把以上代码中的“*”代替为具体的域名,这样做可以相应的增强安全性。

--------------------------------------------------------------

 

 

 

js Jquery 跨域请求问题解决

标签:

原文地址:http://my.oschina.net/u/1410320/blog/515537

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!