我正在使用 getJSON 从服务器上的文本文件获取数据我在 getJSON 请求中提供绝对 URL
var server="http://abc.com/text.json"
$.getJSON(server,function(data){
console.log(data);
})
所以当我访问 URL http://abc.com/ 的网站时我得到了正确的 JSON 值,但是当我使用 URL http://www.abc.com/ 访问同一站点时它显示错误
Origin http://www.abc.com is not allowed by Access-Control-Allow-Origin.
两个 URL 都指向同一页面,那么为什么 getJSON 的行为不同
最佳答案
基本上 http://abc.com/text.json
和 http://www.abc.com/text.json
被识别为不同的域浏览器,即使它们指向后端中的相同资源。
所以你遇到了 same origin policy 的麻烦,当尝试从另一个域访问资源时。
如果您希望这两个 URL 都起作用,您可以改用 JSONP 方法。这与此政策无关。
关于jquery - 为什么带 www 的 url 和不带 www 的 url 对于 JSON 请求的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11395814/