2012-01-09 6 views
0

私はJSONに問題が生じていますが、データがこれは私のMySQLのテーブルでコード全体を通じてJSONレスポンスデータ

を行ってください取り出さコード:

:これは、jQueryのAJAXからの要求を取得するPHPコードである

$(document).ready(function() { 
    $('ul.sub_menu a').click(function() { 
      $('#sliderid, .prodcls').fadeOut(4000); 
       var txt = $(this).text(); 
       $.ajax({ 
        type: 'POST', 
        url: 'thegamer.php', 
        data: {send_txt: txt}, 
        datatype:'json', 
        success: function(data){ 
         $('#pgwrapid').html(data); 
        } 
     }); 
    }); 
}); 

、これはjQueryのセレクタ以下で出力されている何が起こるか:

$('#pgwrapid').html(data); 

OUTPUT

["images\/zara\/shoes\/thumbnail","images\/hermes\/shoes\/thumbnail","images\/hermes\/shoes\/thumbnail"] 

私の問題は、次のとおりです。

  1. なぜここにバックスラッシュがありますか?
  2. 上記出力をループに任意のコードがあり、各パスを抽出し、このようなイメージタグに挿入:

    $('#pgwrapid').append("<img src='"imagepath"' alt='Thumbnail'/>"); 
    

コードは有用であろう。

+0

''要素を作成するまで、バックスラッシュの内容は不明ですが、 'data'が配列の場合は' for'ループやjQueryの[一般的な反復子関数$を使用してループします。 each() '](http://api.jquery.com/jQuery.each/)を使用して、配列の要素を1つずつ処理します。 – nnnnnn

+0

私はalert(typeof(data))でそれをチェックしました。それは文字列を与える – sajid

+0

あなたは答えられて明らかにあなたを助けたが、あなたは[それらを受け入れていない](http://u.sbhat.me/t6SXUH)の質問の束を持っています。してください他の人はあなたを助けるために傾けていないかもしれません。 – Sathya

答えて

0

スラッシュがエスケープされることが予想され、仕様ごとにhttp://json.orgで有効です。

"images\/zara\/shoes\/thumbnail" 

と評価されます:

"images/zara/shoes/thumbnail" 

...そう、これは心配することは何もしなくてもただのFirebugを使っていることに注意してください。

はい、標準のforループを使用してループするか、新しいブラウザでArray.forEach関数を使用して、結果に返されたサムネイルごとに追加機能を呼び出すことができます。

+0

私はalert(typeof(data))でチェックしました。現在の文字列を返し、その文字列をループしたり、配列に変換したりする方法を教えてください。 – sajid

+0

@sajid - http://api.jquery.com/jQuery.parseJSON/ – ziesemer

+0

このように解析します。var object = $ .parseJSON(data);それを$( '#pgwrapid').html(object。[0]);という形式で印刷します。コンソールでエラーが出る – sajid

0

PHPコードから返されたdataは、JSONを含む文字列で、PHP JSONはスラッシュをエスケープします。これは有効です。

あなたは、そのJSON文字列をデコードする

var listofshoes = JSON.parse(data); // note this the data you were having in .html(data) 
for (var i in listofshoes) { 
    $('#pgwrapid').append($("<p>").text(listofshoes[i])); 
} 

$('#pgwrapid').html(data); 

を変更するようなものを必要とし、あなたが付加されたデータのリストを取得します - あまり多くの作業を行うためにそれクリッカブルイメージがありますが、次の:-)を何をすべきか知っている

+0

私のコンソールが解析にエラーを出していますJSON.parse:予期しない文字[Break On This Error] return window.JSON.parse(data); – sajid

+0

jQuery ajaxを呼び出すと、実際に有効なJSONと仮定して自動的にJSONを解析する必要があります。問題のコードは、データ型を 'json'に設定します。 – nnnnnn

0

あなたのAJAX呼び出しは、2個のエラーがあります:

この後、回答を確認する必要があります。また、必要な場所にイメージ要素を作成するループを作成します。

関連する問題