javascript 跨域 问题
$.ajax时访问各种地址都会出现如同XMLHttpRequestcannotloadhttp://localhost/.Originhttp://www.xxx.com...
$.ajax时
访问各种地址都会出现如同
XMLHttpRequest cannot load http://localhost/. Origin http://www.xxx.com is not allowed by Access-Control-Allow-Origin.
但是访问http://query.yahooapis.com/v1/public/yql却可以
为什麼 展开
访问各种地址都会出现如同
XMLHttpRequest cannot load http://localhost/. Origin http://www.xxx.com is not allowed by Access-Control-Allow-Origin.
但是访问http://query.yahooapis.com/v1/public/yql却可以
为什麼 展开
展开全部
XMLHttpRequest2 进行跨域访问时需要服务器许可,不是任何域都接受跨域请求的。先来看一下从 Yahoo YQL 域返回的响应头(Response Header ):
HTTP/1.1 200 OK
Set-Cookie: AO="o=1&s=1&dnt=1"; Version=1; Domain=yahoo.com; Max-Age=630720000; Expires=Sat, 18-Jun-2033 10:07:41 GMT; Path=/
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=899
Content-Type: text/xml;charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sun, 23 Jun 2013 10:07:40 GMT
注意里面有一条标识 Access-Control-Allow-Origin:* ,这就表示允许跨域访问,所以可以正常访问该域,而对于其他没有该标识的域就会出现禁止访问提示。
那么如何设置呢?如果要接受跨域访问请求,就必须在服务器端返回的资源中加入 Access-Control-Allow-Origin 头标识, Access-Control-Allow-Origin 的值可以是 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求。比如,在 HTML 中可以设置:
<meta http-equiv="Access-Control-Allow-Origin" content="*">
或
<meta http-equiv="Access-Control-Allow-Origin" content="http://www.baidu.com:80">
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
解决js跨域问题有以下一种方式
使用jsonp
服务端代理
服务端设置Request Header头中Access-Control-Allow-Origin为指定可获取数据的域名
使用jsonp
服务端代理
服务端设置Request Header头中Access-Control-Allow-Origin为指定可获取数据的域名
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询