javascript - 客户端没有收到来自 Servlet 的响应

标签 javascript java jquery ajax servlets

我是客户端服务器应用程序的初学者,正在开发非常基础的应用程序,在服务器端使用 Java Servlet,在客户端使用 JavaScript。 我在客户端 (index.html) 使用 AJAX 的 POST 请求,如下所示:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $.post("/Serve",
      {
        name: "Donald Duck",
        city: "Duckburg"
      },
      function(data, status) {
        alert("Data: " + data + "\nStatus: " + status);
      }
    );
  });
});
</script>
</head>
<body>

<button>Send an HTTP POST request to a page and get the result back</button>

</body>
</html>

我使用的是 GlassFish ver 4.1,Servlet 代码 (myServe.java) 如下所示:

public class MyServe extends HttpServlet {
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws IOException{
        PrintWriter out = response.getWriter();
        out.print("HI");
    }

}

理想情况下,响应应该转到 AJAX 函数中的数据变量,并且应该在单击按钮时显示它,但警告屏幕只会再次显示 JS 代码: enter image description here

谁能告诉我哪里出错了? web.xml 文件也是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
    <servlet-name>MyServe</servlet-name>
    <servlet-class>org.MyServe</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>MyServe</servlet-name>
    <url-pattern>/Serve</url-pattern>
</servlet-mapping>
</web-app>

最佳答案

ajax 请求将发送到错误的 Controller 请通过从 Serve 中删除 / 对 ajax 请求进行一些更正

      $("button").click(function(){
        $.post("Serve",
          {
            name: "Donald Duck",
            city: "Duckburg"
          },
          function(data, status) {
            alert("Data: " + data + "\nStatus: " + status);
          }
        );

我想这对你有帮助。

关于javascript - 客户端没有收到来自 Servlet 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31559621/

相关文章:

java - iPhone 客户端与 Java 服务器对话

javascript - 在事件上动态加载时是否执行 jquery 或 javascript?

javascript - 如何使用 onclick 值动态添加按钮

php - 关于 AJAX/PHP 投票系统和 Amazon Mechanical Turk 的假设问题

javascript - 在html中动态切换字段集

java - 从 Activity 调用 Fragment 方法时出现 NullPointerException?

Java elasticsearch 客户端始终为空

javascript - 如何在就绪时设置间隔,在 textarea 焦点处停止,然后在 textarea focusout 处开始?

javascript - innerHTML 生成的 div 上的点击事件

javascript - 动态对象名称属性不起作用