2

データベース内のすべての画像を取得して Web ページに表示しようとしています。サーブレットは項目の配列を送信します。サーブレット プログラムを実行すると、次のように表示されます

{"success":true,"imageInfo":[]}

しかし、Web ページでは、jQuery は を返しますundefined

私はjQueryの初心者です - 誰でも私がこれを解決するのを手伝ってください.

Javascript :

$(window).load(function() 
            {
            $.ajax({
               type: "GET",
                url: "RetriveIm",
                dataType: "json",
                success: function( data, textStatus, jqXHR) 
                {
                    if(data.success)  
                      {

                        alert(console.log(data.imageInfo.name));
                        var items = [];
                        $.each(data, function(i, item) 
                        {
                          items.push('<li><a href="#"><img src=data:image/png;base64,'+ item.thumbarray +' data-large=data:image/png;base64,' + item.imageInfo.fullarray + ' data-description=' + item.imageInfo.disc + ' alt=' + item.imageInfo.name + ' data-id='+ item.imageInfo.imageid +'/></a></li>');  // close each()
                          $('ul.es-carousel').append( items.join('') );
                         });
                       };
                  },
             error: function(jqXHR, textStatus, errorThrown)
              {
                 alert("error");
                 console.log("Something really bad happened " + textStatus);
              },
              });       
             });

私のサーバー側プログラムはこの質問にあります。

データのどのエラーが私を助けてください.....ありがとう...

4

1 に答える 1

1
$.getJSON("url",function(json){
         console.log(json)
         //your set of images check object structure
         $.each(json.imageInfo, function(i, item) {//... if i understood well the json you are sending
         });

あなたのニーズには十分でしょう。

header('Content-Type: application/json');応答をエコーする前に、 を送信していることを確認してください。

$('ul.es-carousel').append( items.join('') );また、 $.eachから移動する必要があります

于 2013-02-09T10:01:51.857 に答える