gpt4 book ai didi

javascript - 当 AJAX GET 请求发送到 Servlet 时,Java Servlet 总是返回调用页面的 HTML 代码

转载 作者:行者123 更新时间:2023-12-03 07:53:44 24 4
gpt4 key购买 nike

我在 Web 应用程序的后端使用 Tomcat 7 Java Servlet。我面临的问题是,当我使用 jQuery Ajax 执行 HTTP GET 请求时,HttpServletResponse 始终返回调用页面的 HTML 正文,而不是返回所需的数据。

jQuery 代码:

            function perform_ajax(view_name) {
$(function() {
var url = 'get-view-data-by-view-name';
$.ajax({
method: 'GET',
data: {view_name: JSON.stringify(view_name)},
beforeSend: function() {
alert(view_name);
},
success: function(data) {
alert(data);
//console.log(data);
},
error: function(xhr) {
alert("Error: asdasd");
}
});
});
}

Servlet 代码:

public void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String x = req.getParameter("view_name");
resp.setContentType("application/json");
resp.setCharacterEncoding("UTF-8");
resp.getWriter().write(x);
}

即使我将 Servlet 代码的最后一行替换为:

resp.getWriter().write("aaaa");
注释掉 doGet 函数中的所有其他内容,Servlet 仍然返回调用页面的 Html 正文。

我已经在这个问题上坚持了几个小时了。经历了许多 SO 问题,尝试了各种方法,例如使用不同的 MIME 类型(例如普通),但我得到的回应只是调用者页面的 Html 代码。请帮助我找出问题所在并解决此问题。

最佳答案

我忘记在ajax函数调用中传递url;不知道我怎么会错过这个!

            function perform_ajax(view_name) {
$(function() {
var url = 'get-view-data-by-view-name';
$.ajax({
url: url, // + Added URL to ajax call
method: 'GET',
data: {view_name: JSON.stringify(view_name)},
beforeSend: function() {
alert(view_name);
},
success: function(data) {
alert(data);
//console.log(data);
},
error: function(xhr) {
alert("Error: asdasd");
}
});
});
}

关于javascript - 当 AJAX GET 请求发送到 Servlet 时,Java Servlet 总是返回调用页面的 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34893477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com