如何使用ajax从servlet获取json数组?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (153)

必须在我的servlet中使用json数组。

想获取json数组值并使用ajax打印到jsp页面。

下面是代码

JSONArray  htags = new JSONArray();
        htags.add("#abc");
        htags.add("#xyz");
        htags.add("#emc");
        htags.add("#netapp");


        //top trends
        JSONArray trends = new JSONArray();
        trends.add("pass");
        trends.add("horiz");
        trends.add("software");
        trends.add("banana");

JSP

得到错误消息。

$.ajax({

            url : "SerlvetToJsp",
            dataType : 'json',
            error : function() {

                alert("Error");
            },
            success : function(data) {
                alert(data);

            }
    });
提问于
用户回答回答于

尝试这个

servlet代码

JSONArray  htags = new JSONArray();
        htags.add("#abc");
        htags.add("#xyz");
        htags.add("#emc");
        htags.add("#netapp");


        //top trends
        JSONArray trends = new JSONArray();
        trends.add("pass");
        trends.add("horiz");
        trends.add("software");
        trends.add("banana");
response.setContentType("application/json"); 
response.setCharacterEncoding("utf-8"); 
String jsons = "["+htags+","+trends+"]"; //Put both objects in an array of 2 elements
out.print(jsons);

并在你的jsp页面上

$.ajax({

            url : "SerlvetToJsp",
            dataType : 'json',
            contentType:"application/json",
            error : function() {

                alert("Error");
            },
            success : function(data) {
                var data1=data[0],
                var data2=data[2],
               alert(data1[0]);

            }
    });
用户回答回答于

如果你想把它从servlet传递给jsp,不需要创建一个request(ajax),因为servlet和jsp它们都存在于服务器端。只需将该json数组设置为请求属性或会话属性,然后在jsp中获取它显示(带循环)。

如果需要通过同步呼叫获取数据:

在servlet中

   PrintWriter out = response.getWriter();
   out.println(htags);

扫码关注云+社区

领取腾讯云代金券