0

API は xml のみであるため、ajax リクエストの dataType は xml として送信する必要があります。プラグイン スクリプトを使用して、クロス ドメインの問題を回避できるようにしています。スクリプトは以下にあります。
プラグインが使用されているため、レスポンスは json として返されます。

個々の応答データを表示できない理由がわかりません。なんとか表示できたのは、ブラウザの [object object] だけです。

https://github.com/denka/jQuery-Plugins/blob/e5f123741ce6bc1be93e1db846a0e59cfe7e750c/cross-domain-ajax/jquery.xdomainajax.js

これを機能させるための提案は大歓迎です。

$.ajax({
    url: 'http://api.smartpea.com/api/deal/?title=water&zip=90210, ///URL + User Input
    dataType: 'xml',
    type: 'get',
    beforeSend: function(){// Before Send, Add the Loader
    $("#loading").show();
    },
    complete: function(){// Once Request is complete, Remove the Loader
    $("#loading").hide();
    },
    success: function(data){
        var placement = document.getElementById('content');// location to where response is to be displayed to the user

        jQuery.parseJSON(data); parse the json response
        $.each(data, function(i) {

        placement.innerHTML = data[i].Title, data[i]. BrandName, data[i]. CurrentPrice, data[i].Category; //adding the response data to the content holder in the browser
        });     
    },
    error: function (xhr, ajaxOptions, thrownError){// Error Logger
    console.log(xhr, ajaxOptions, thrownError);
    }   

});
4

3 に答える 3

1

最も明らかなエラーは、2 行目の URL の末尾に引用符がないことです。コードでの使用を検討する必要がありJSHintます。

于 2013-05-29T23:47:28.983 に答える
0

あなたの成功関数はこのようになるかもしれません

 success: function(data){
            jQuery.parseJSON(data); parse the json response
            $.each(data, function(i) {
            $('#content').html(data[i].Title+','+data[i]. BrandName+','+data[i]. CurrentPrice+','+data[i].Category)

            });     
        }
于 2013-05-29T23:41:50.027 に答える
0
$.ajax({
    url: 'http://api.smartpea.com/api/deal/?title=water&zip=90210',
    dataType: 'xml',
    type: 'get',
    beforeSend: function(){
    $("#loading").show();
    },
    complete: function(){
    $("#loading").hide();
    },
    success: function(data){
        var placement = document.getElementById('content');

        jQuery.parseJSON(data); parse the json response
        $.each(data, function(i) {
        placement.innerHTML = data[i].Title + " - " + data[i].BrandName + " - " + data[i].CurrentPrice + " - " + data[i].Category;
        });     
    },
    error: function (xhr, ajaxOptions, thrownError){
    console.log(xhr, ajaxOptions, thrownError);
    }
});
于 2013-05-29T23:42:21.900 に答える