【发布时间】:2017-06-20 17:42:14
【问题描述】:
我正在构建一个 Web 应用程序。
此 Web 应用程序的一部分是从客户端到服务器的 ajax 请求:
$.ajax({
url: url,
type: "get",
data: {
id: ID,
},
success: function(response) {
//parameter response contains the data sent back from the server
//some stuff is done to this data in the rest of this function
},
error: function() {
alert("An error occurred.");
}
});
在服务器端,我使用 servlet 来处理请求。 一旦收到来自客户端的数据,并且已经应用了一些业务逻辑,我想发回一个简单的字符串。
然后,数据字符串将由上述 ajax 函数的以下部分处理:
success: function(response) {
//parameter response contains the data sent back from the server
//some stuff is done to this data in the rest of this function
},
我的问题是这样的:
我知道如何向客户端的屏幕发送数据:
PrintWriter out = response.getWriter();
out.println(data);
但是,我不知道如何将数据(不是到屏幕,而是)发送到 ajax 函数,以便该 ajax 函数可以处理从服务器接收到的数据。
“HttpServletResponse”类的java对象“response”只提供“sendError()”等方法。
我想发送数据而不将它们打印到屏幕上。
我该怎么做?
******************************更新********************* ***********************
我尝试使用 PrintWriter 将字符串发送回 ajax 函数:
PrintWriter out = response.getWriter();
out.println("test");
...然后我想在警报消息中输出文本“test”:
$.ajax({
url: url,
type: "get",
data: {
latitude: location.lat(),
longitude: location.lng(),
radius: 10
},
success: function(response) {
alert(response);
},
error: function() {
alert("Ein Fehler beim Abfragen der Daten ist aufgetreten.");
}
});
但不是输出带有“测试”内容的警报消息,而是输出包含发送 ajax 调用的 JSP 页面的整个 html 代码!
【问题讨论】:
标签: java servlets httpresponse