使用jQuery.getJSON的ShopSense API的apiSearch方法

时间:2012-04-11 15:05:08

标签: jquery shopping

我正在尝试使用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

2 个答案:

答案 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)

最后,我通过更改查询中的几个参数来运行我的代码。

  1. 使用callback =? jsoncallback =?

  2. format = jsonp

  3. 一切运转良好。

    $(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);
        });
    });
    

    感谢您的帮助和时间。