【问题标题】:How to retrieve JSON array of item sent from servlet in jQuery如何在jQuery中检索从servlet发送的项目的JSON数组
【发布时间】:2016-05-06 03:51:21
【问题描述】:

我正在尝试检索数据库中的所有图像并显示在网页中。 servlet 发送一个项目数组。当我运行我的 servlet 程序时,它会显示

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

但在网页中,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);
              },
              });       
             });

我的服务器端程序在this 问题中。

我不知道数据有什么错误请帮助我.....谢谢...

【问题讨论】:

    标签: javascript jquery json


    【解决方案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

    【讨论】:

    • 输入正确的 url 并查看控制台的错误消息或 json 的日志;如果没有查看“url”发送的响应。你知道如何查看控制台吗?
    • 根据 ajax 请求在控制台中?那么这意味着您在getJSON中提供的“url”没有找到
    • 我提供了正确的网址。这是 servlet 映射 &lt;servlet id="spR"&gt; &lt;display-name&gt;RetriveIm&lt;/display-name&gt; &lt;servlet-name&gt;RetriveIm&lt;/servlet-name&gt; &lt;servlet-class&gt;skypark.RetriveIm&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;servlet-mapping id="spRm"&gt; &lt;servlet-name&gt;RetriveIm&lt;/servlet-name&gt; &lt;url-pattern&gt;/sp/RetriveIm&lt;/url-pattern&gt; 我正在提供 url="RetriveIm" 现在告诉我错误是什么。这两天让我死了......???????????????
    • 在浏览器中输入 RetriveIm(在页面 url 的最后一个斜杠旁边 - 代替页面脚本名称)& 看看你得到了什么 -> 如果找不到 404;您需要提供指向服务器脚本的有效 url,找到它!
    猜你喜欢
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 2012-08-15
    • 2016-11-17
    相关资源
    最近更新 更多