我正在尝试使用jQuery调用ShopSense API的apiSearch方法(https://shopsense.shopstyle.com/shopsense/7268009frtd4rf)。下面是代码。
$(document).ready( function() {
$.getJSON("http://api.shopstyle.com/action/apiSearch?jsoncallback=?",
{
pid: "uid3489-4324817-25",
fts:"red+dress",
min: 0,
count: 10,
format : "json"
}, function(data) {
console.log(data);
$.each(data.products, function(i, product) {
alert(product.name);
});
});
});
它会在chrome中导致错误“Uncaught SyntaxError:Unexpected token:”和firebug中的“invalid label”。
显然它似乎解析错误但是当我尝试使用jQuery.parseJSON方法解析其响应JSON时,解析没有问题。
请帮我解决这个问题。
解决方案:
最后,我通过更改查询中的几个参数来运行我的代码。
使用callback =? jsoncallback =?
format = jsonp
答案 0 :(得分:0)
正确的网址是:
http://api.shopstyle.com/action/apiSearch
不
http://api.shopstyle.com/action/apiSearch?jsoncallback=?
带有GET值的有效网址采用模式:
protocol://host/path/file.extension?var1=value1&var2=value2 ... varn=valuen
您不能使用双?
答案 1 :(得分:0)
最后,我通过更改查询中的几个参数来运行我的代码。
使用callback =? jsoncallback =?
format = jsonp
一切运转良好。
$(document).ready( function() {
$.getJSON("http://api.shopstyle.com/action/apiSearch?callback=?",
{
pid: "uid3489-4324817-25",
fts:"red+dress",
min: 0,
count: 20,
format : "jsonp"
}, function(data) {
$.each(data.products, function(i, product) {
alert(product.name);
});
});
感谢您的帮助和时间。