【发布时间】:2017-02-08 11:46:48
【问题描述】:
我的jsp页面:
<button data-ng-click="login()">Fetch data from server</button>
mainController.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.java
@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");
}
web.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” 我在我的代码中根本找不到。
【问题讨论】:
-
xmlHttpReq.status的值是多少? -
200,它到了线路,它引发了警报......但它是空的
-
您可以在控制台中看到
inside do POST这一行对吗? -
请尝试添加
response.getWriter().flush() -
在控制台中只有:test test,我不知道它是从哪里来的......我现在也在代码中添加了flush()的东西,但是什么都没有
标签: javascript java angularjs servlets