我有一个页面,我在其中进行ajax调用,然后转发到jsp页面并返回在此jsp中构造的表。
直到现在这个jsp用于返回原始页面(表)用于附加到特定div中的html。但是现在,我们要求这个jsp和表一起返回关于查询的元数据的其他信息。
有了这个改变,我理想情况下不想改变一些客户端的现有行为,他们只是附加了html。但是,有没有办法,进行此调用的新页面可以同时包含html表(可以附加)以及返回的元数据(可以处理)。
如果问题不够明确,请告诉我。
谢谢!
答案 0 :(得分:0)
最简单且破坏性最小的变化是将其作为响应头发送。
在servlet中,您可以使用HttpServletResponse#setHeader()
设置响应标头:
response.setHeader("X-Metadata", metadata);
// ...
(使用前缀为X-
的标头名称recommended为自定义标头)
在JS中,您可以使用XMLHttpRequest#getResponseHeader()
来获取响应标头:
var metadata = xhr.getResponseHeader('X-Metadata');
// ...
您甚至可以在其中设置一些JSON字符串,以便(de)序列化很容易。