ajax servlet设置响应,关于jquery:将servlet的响应作为对象发送到ajax调用

本问题已经有最佳答案,请猛点这里访问。

我正在通过以下方式将servlet传递给jQuery。

jQuery的:

$('.snd').click(function (){

$.ajax({

url: '/ProjectName/ServletName?action=test',

data: {cl1: $('.t11').val()},

success: function (response){

$('.t12').val(response);

}

});

});

Servlet的

if (action.compareTo("test") == 0) {

action ="abc";

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

try {

out.println("text1");

} finally {

out.close();

}

}

通过这样做我得到结果"text1"

现在我需要做什么,而不是发送普通文本,我想将一个对象或一个String数组作为响应发送到jQuery?

例如

在servlet中我有以下数组

String[] ss= {"n1","n2"};

在jQuery中我想使用

$('.t12').val(response[0]);

得到结果"n1"

HTTP仅发送和接收字符串。 由您决定如何解释这些字符串,例如JSON或其他形式的转换。

您不能直接在服务器和浏览器之间发送对象,但您可以做的是将它们序列化为JSON文本格式(这就是JSON的发明)。 服务器端的JSON.serialize()(或其他语言的等效文件)和客户端的JSON.parse()。

如果在jQuery ajax调用中将数据类型指定为JSON,它将自动为您解析它,因此您甚至不必调用JSON.parse()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值