我尝试使用jquery读取JSON数据。特别是我试图从这个网址中读取JSON:http://mkweb.bcgsc.ca/color-summarizer/?url=http://scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10643840_701797013239098_657737630_a.jpg&precision=low&num_clusters=3&json=1&callback=?
但是我一直收到这个错误:
Uncaught SyntaxError: Unexpected token :
这是我的jquery:
$(document).ready(function () {
var one = "1"
$.getJSON('http://mkweb.bcgsc.ca/color-summarizer/?url=http://scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10643840_701797013239098_657737630_a.jpg&precision=low&num_clusters=3&json=1&callback=?', function(result) {
document.write(result.clusters.one.rgb[0]);
});
});
我在JSON代码的第一个冒号处收到错误。
据我所知,JSON数据实际上是作为Javascript读取的。我该如何解决这个问题。
答案 0 :(得分:0)
阅读API Docs我发现您需要指定jsnop=1
参数才能通过JSONP检索数据。
正确的代码是这样的:
$(document).ready(function () {
$.ajax({
url: 'http://mkweb.bcgsc.ca/color-summarizer/',
type: 'GET',
dataType: 'jsonp',
jsonpCallback: 'colorsummary',
data:{
url: 'http://scontent-a.cdninstagram.com/hphotos-xfa1/t51.2885-15/10643840_701797013239098_657737630_a.jpg',
precision: 'low',
num_clusters: '3',
jsonp: '1'
},
success: function(result){
document.write(result.clusters['1'].rgb[0]);
}
});
});
我还构建了请求,以便您可以轻松更改参数。
PS:注意JSON表示法(群集中的[' 1']等)