【问题标题】:Error Cross Domain calling Json跨域调用 Json 时出错
【发布时间】:2013-12-27 04:52:15
【问题描述】:

我正在尝试将我的 json 文件带入我的 HTML,但发生跨域错误:

XMLHttpRequest 无法加载 http://guardioesdacidadania.com.br/game_temp/assets/js/caratulas.json?jsoncallback=。该请求被重定向到“http://www.guardioesdacidadania.com.br/game_temp/assets/js/caratulas.json?jsoncallback=”,这对于需要预检的跨域请求是不允许的。

我尝试了许多不同的解决方案,但都没有奏效。

这是我的 js 代码。

$.ajax({
   url: 'http://guardioesdacidadania.com.br/game_temp/assets/js/caratulas.json?jsoncallback=',
   headers: { 'Access-Control-Allow-Origin': '*' },
   crossDomain: true,
   success: function () { alert('it works') },
   error: function() {alert('it doesnt work')},
   datatype: 'jsonp'
});

【问题讨论】:

  • 服务器是否设置为允许跨域?
  • 那好像不是支持JSONP的网站。
  • 调用页面是否在同一个域中? (guardioesdacidadania.com.br) 你试过把'www.'在您的 ajax 调用的 url 中?无论如何它都会重定向到那个,所以至少你会少一个要处理的因素。
  • 是的,它是同一个域。我怎样才能允许服务器跨域?或者我怎么知道服务器是否支持 jsonp?

标签: javascript json cross-domain


【解决方案1】:

要使 CORS 支持正常工作,必须将服务器配置为使用 Access-Control-Allow-Origin 标头进行响应,将标头与您的请求一起发送不会执行任何操作。您可以访问:Origin is not allowed by Access-Control-Allow-Origin

,了解有关如何使其工作的一些信息

如果您无权访问服务器,则无法通过 AJAX 执行此操作,因此您需要创建某种服务器端代理来中继请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-08
    • 2015-08-30
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2011-07-29
    • 2018-12-25
    相关资源
    最近更新 更多