【问题标题】:Unexpected token when doing remote json call进行远程 json 调用时出现意外的令牌
【发布时间】:2013-03-22 14:49:30
【问题描述】:

我到处搜索,但无法解决这个问题:

当我在本地复制 json 文件的内容时,它可以工作(没有回调=?)

但是,当我进行跨域调用时,我在控制台中收到以下错误:

Uncaught SyntaxError: Unexpected token :

这是我的代码:

 var url='http://www.motor-forum.nl/json.php?type=json&callback=?';
        $.getJSON(url,function(json){
            $.each(json.globals, function(i,data){
               $("#results").html(data.board_reactid);
            });
        });

希望有人能帮帮我

【问题讨论】:

标签: jquery json jsonp


【解决方案1】:

我刚刚尝试过您的 API - 它不支持 JSONP。从远程服务器获取东西并不像在 URL 上使用 &callback=? 那样简单——远程服务器需要公开支持它。

JSONP 通过在脚本标签中加载返回来跨越跨域限制。这意味着该对象必须可以作为脚本进行评估。对于 JSONP,用户在 URL 中提供回调名称,然后将返回的 JSON 对象包装在对其的函数调用中 (myCallBackName({object});)。

【讨论】:

  • 我已经多次回答了这个问题——stackoverflow.com/questions/15670082/… 就是其中之一。如果您的托管服务提供商允许,请使用 Apache 中的 ProxyPass 和 ProxyPassReverse 指令(或 nginx 中的 proxy_pass)来反向代理请求并将其转换为本地 URL,您将能够在其中使用常规 ajax。如果你不能这样做,请给开发人员发电子邮件并要求他们支持 jsonp。如果你不能这样做......那么你就被塞满了:-(
猜你喜欢
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
  • 1970-01-01
  • 2021-02-09
相关资源
最近更新 更多