【问题标题】:Uncaught SyntaxError: Unexpected token with jsonp未捕获的 SyntaxError:带有 jsonp 的意外标记
【发布时间】:2013-04-16 10:04:33
【问题描述】:

我正在对以下 API 进行 jsonp 调用:http://blockchain.info/ticker。我一直在对 jsonp 进行很好的研究,但我找不到我做错了什么。在 Chrome 中,浏览器不断显示:'Uncaught SyntaxError: Unexpected token :'。下面是代码。

$.ajax({                                                                                                                                                                                                        
            type: 'GET',                                                                                                                                                                                                 
            url: 'http://blockchain.info/ticker?q=&callback=?',                                                                                                                                              
            dataType: 'jsonp',                                                                                                                                                                                                
            success: function() { console.log('Success!'); },                                                                                                                                                                                       
            error: function() { console.log('Uh Oh!'); },
            jsonp: 'jsonp'                                                                                                                                                
        });

【问题讨论】:

标签: jquery ajax jsonp


【解决方案1】:

我认为您返回的 json 有错误,请在浏览器中查看控制台,并将 jsonp 替换为 jsonpCallback 并输入您的回调函数名称:

$.ajax({type:'GET',                                                                 
                url: 'http://blockchain.info/ticker?q=&callback=?',
                dataType:'jsonp',
                success: function(data) { console.log('Success!'); },
                error: function(errror) { console.log(errror); },
                jsonpCallback:'callbackName'             
});

【讨论】:

  • 我对 jquery 还是很陌生。你能举一个你的回调函数的例子以及把它放在哪里。我正在立即函数中运行调用。
  • 回调函数不必是你写的任何东西。这只是你给的名字。请仔细阅读 JSONP 的含义以及它如何帮助您。查看此内容以供参考stackoverflow.com/questions/19165925/…
【解决方案2】:

那个错误是因为你 jsonp 期望一个名为“callbackName”的函数,然后我们已经知道了。示例:

callbackName()

而不是callbackName:因为是错误的

那么你需要在服务器中返回

callbackName(数据 json)

【讨论】:

  • 您好,欢迎来到 Stack Overflow,首先感谢您花时间回答。请花点时间通过welcome tour 了解您在此处的方式(并获得您的第一个徽章),阅读How to Answer 以创建有用的答案并添加到社区中。
猜你喜欢
  • 2013-01-04
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多