jquery - 为什么带 www 的 url 和不带 www 的 url 对于 JSON 请求的行为不同

标签 jquery json url getjson access-control

我正在使用 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.jsonhttp://www.abc.com/text.json 被识别为不同的域浏览器,即使它们指向后端中的相同资源。

所以你遇到了 same origin policy 的麻烦,当尝试从另一个域访问资源时。

如果您希望这两个 URL 都起作用,您可以改用 JSONP 方法。这与此政策无关。

关于jquery - 为什么带 www 的 url 和不带 www 的 url 对于 JSON 请求的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11395814/

相关文章:

javascript - 获取类等于 active 的 div 的索引

Javascript - 如何调用对象?

android - 使用 GSon 解析嵌套的 Json

Java URL 编码 : URLEncoder vs. URI

java - 当 URL 中的空格被编码为 + 和 %20 时的不同行为

javascript - 在 ContentEditable 更改事件中的 P 标签中插入数据属性

php - 无法弄清楚为什么 header 位置不适用于这种情况(php)

php json_encode 带有西里尔字符

perl - 如何在任何操作系统上启动 Perl 中的默认 Web 浏览器?

jquery ui sortable - 当前元素