![](/img/trans.png)
[英]How to differentiate between differrent hyperlinks in same page in servlet?
[英]How to differentiate between servlet responses in javascript?
在我的网站中,我正在使用ajax将信息发布到Java servlet,并使用以下javascript代码读取响应:
$.ajax({
url : 'myfirstservlet',
async: false,
data : {
//send info..
},
success : function(responseText) {
//receive response..
}
});
在我的servlet中,我返回了多个响应。 例如:
String response1 = "response1";
int response2 = "5";
out.println(response1);
out.println(response2);
那么,如何获取这两个不同响应的值并将它们放在单独的javascript变量中?
例如
$var response1 = ['response1'];
$var response2 = ['response2'];
谢谢 :)
如果响应out
为out
则输出为
response1
5
一种更好的方法是创建一个JSON对象而不是纯文本。
{
"res1":"response1",
"res2":"5"
}
您要在单个响应中使用两个不同的数据进行响应。 根据HTTP,您不能有两个响应。
您可以通过使用Json或适当地对数据定界来实现。
我认为我们对此过于复杂。
HTTP中不存在对请求的多个响应。 客户端发出请求,服务器发送回响应。 您显示的代码不会发送多个响应。 它发送一个仅包含2条有趣数据的响应。
由于您使用的是println
,因此根据定义,您的输出是行分隔的。 因此,在您的客户端代码中,在CRLF上拆分响应。
var parts = response.split(/\r?\n/);
var part1 = parts[0];
var part2 = parts[1];
如果您要传输的数据如此简单并且不太可能增长,那很好。 如果您想要更可扩展的解决方案,我建议使用JSON。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.