2016-08-31 37 views
1

我有一个servlet列表:如何从servlet传递一个列表到Ajax调用

String appname=request.getParameter("AppID"); 
System.out.println("Entered ajax request 1 : Get list"); 
List<Object> li = Model.getList(appname); 
// enter your code here 

我有一个AJAX调用,它正在该列表从servlet:

$(document).ready(function() { 
    $('#app-name').change(function() { 
     var applname=$(this).value(); 
     $.ajax({ 
       url: '${pageContext.request.contextPath}/rollreturn', 
       data: {AppID:applname}, 
       success: function(data){ 
        var order_data = data; 
        $('#roll-name').html(''); 
        $.each(order_data, function(i, item) { 
         $('<option value='+ order_data[i] +'>'+order_data[i]).html('</options>').appendTo('#roll-name'); 
        }); 
       } 
     }); 
    }); 
}); 

如何我可以将列表传递给AJAX调用吗?你能帮助我吗?

你也可以告诉我,我写的AJAX调用是否正确?

+0

XML或JSON是传输数据的来来回回的标准方式。所以把你的列表数据打包成JSON并发送给ajax调用。对于使用JSON API,您需要使用任何第三方JSON jar – Pawan

+0

@PreethiJain为什么我们需要任何第三方JAR? –

+0

@Khan从哪里得到这个课程新的Gson()。 – Pawan

回答

0

通过设置servlet中的内容类型。

response.setContentType("application/json"); 

new Gson().toJson(li, response.getWriter()); 

结果ajax你会收到一个JSON对象,所以你必须解析它。

解析JSP/HTML文件中的JSON对象有很多种方法。 一个简单的例子

See Demo

您也可以使用解析JSTL标记和标签scriplet您的JSON对象。

See this question

0

您还可以使用的OutputStream从servlet的

写列表值

下载GSON罐子here

import java.io.OutputStream; 
import com.google.gson.Gson; 

在你的doGet/doPost方法

ArrayList<Object> listresult=new ArrayList<Object>(); 

listresult.add("values1"); 
listresult.add("values2"); 
listresult.add("values3"); 
listresult.add("values4"); 

response.setContentType("application/json"); 
OutputStream outputStream= response.getOutputStream(); 
Gson gson=new Gson();  
outputStream.write(gson.toJson(listresult).getBytes()); 
outputStream.flush(); 

要在ajax中检索值uccess功能

success: function(result){ 
for(var i=0;i<result.length;i++) 
{   
alert(result[i]); 
} 
}, 

回答是为时已晚,它可以帮助一些人

相关问题