我的jsp页面:
<table>
<thead class="scroll-thead">
<tr>
<th>Key</th>
<th>Value</th>
</tr>
</thead>
<tbody class="scroll-tbody-y table-body">
<tr>
<td>Blah</td>
<td>Blah</td>
</tr>
</tbody>
</table>
mainController.js
<button data-ng-click="login()">Fetch data from server</button>
FileEditServlet.java
$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)
}
}
的web.xml
@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");
}
按下按钮从服务器获取数据并调用登录功能后,将调用mainContrller中的函数,输出为空。我的意思是警报是空的,就像没有回应一样。
此外,控制台中没有任何内容,但有2个字:&#34; test test&#34; 我在代码中找不到。
答案 0 :(得分:0)
我会把这个写成一个答案,我认为可能比附加评论更清楚。
我认为web.xml和js部分不应该导致问题。返回字符串test test
肯定应该在代码中的某处,在项目中进行文本搜索(如果您使用的是Eclipse)。
但问题是,我猜是因为你尝试从getWriter
两次调用HttpServletResponse
方法 - 第一个方法会在流中写入println
秒。您可以尝试删除其中一个。这是一个例子:
@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 .getWriter().write("do something omg");
}
答案 1 :(得分:-2)