javascript Java无法从我的servlet获得任何响应
我的jsp页面:
<button data-ng-click="login()">Fetch data from server</button>
主控制器。js
$scope.login = function() {
var xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.open('POST', "http://localhost:8080/WEB-war/FES", false);
xmlHttpReq.setRequestHeader('Content-Type', 'application/json');
xmlHttpReq.send(JSON.stringify($scope.strings));
if (xmlHttpReq.status === 200) {
alert(xmlHttpReq.responseText)
}
}
FileEditServlet。爪哇
@WebServlet("/FileEditServlet")
public class FileEditServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("inside do POST");
PrintWriter out = response.getWriter();
out.println("response");
response.getWriter().write("do something omg");
}
网络。xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<servlet>
<servlet-name>FileEditServlet</servlet-name>
<servlet-class>servlet.FileEditServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileEditServlet</servlet-name>
<url-pattern>/FES</url-pattern>
</servlet-mapping>
</web-app>
一旦我按下按钮从服务器获取数据并调用登录函数,就会调用mainContrller中的函数,输出为空。我的意思是警报是空的,好像没有回应
此外,控制台中没有任何内容,只有两个词:“test test” 这在我的代码中根本找不到
# 1 楼答案
我将把这一点写进一个答案中,我认为这个答案可能比附加评论更清楚
我认为是网络。xml和js部分不应该引起问题。返回字符串
test test
肯定应该在代码中的某个地方,在项目中进行文本搜索(如果您使用的是Eclipse)然而,我猜问题是因为您试图从
HttpServletResponse
调用getWriter
方法两次——第一个方法向流中写入println
第二个方法。你可以试着移除其中一个。这里有一个小例子: