簡體   English   中英

Ajax回調不起作用。 發送請求后沒有任何反應

[英]Ajax callback not working. nothing happens after request is sent

我正在學習jQUery AJAx,並將其用作參考: http : //www.journaldev.com/4742/jquery-ajax-jsp-servlet-java-example我正在使用Tomcat和以下代碼。 當我運行tomcat時,我可以通過http:// localhost:8080 / clientest /到達我的站點,並顯示用戶名的輸入字段。 但是,一旦我輸入了名字,就什么也沒有發生。 我知道本教程沒有提到使用tomcat。 這可能是問題嗎? 我是客戶端編程和servlet的新手,所以也許我誤解了一些東西。 如果有人可以幫助我,我非常感激。

Servlet:

 package org.cc.sbc;
 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;

 @WebServlet("/clientest")
 public class SayHelloServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    String userName = request.getParameter("userName").trim();
    if(userName == null || "".equals(userName)){
        userName = "Guest";
    }

    String greetings = "Hello " + userName;

    response.setContentType("text/plain");
    response.getWriter().write(greetings);

}

}

我的index.jsp文件:

 <%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding="UTF-8"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jQuery, Ajax and Servlet/JSP integration example</title>

<script src="http://code.jquery.com/jquery-latest.js"
        type="text/javascript"></script>
<script src="js/app-ajax.js" type="text/javascript"></script>
</head>
<body>
<form>
  Enter Your Name: <input type="text" id="userName" />
 </form>
 <br>
 <br>

 <strong>Ajax Response</strong>:
 <div id="ajaxGetUserServletResponse"></div>
 </body>
 </html>

app-ajax.js:

$(document).ready(function() {
$('#userName').blur(function() {
    $.ajax({
        url : 'clientserver',
        data : {
            userName : $('#userName').val()
        },
        success : function(responseText) {
            $('#ajaxGetUserServletResponse').text(responseText);
        }
    });
});
});

web.xml:

  <web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>SayHelloServlet</servlet-name>
    <servlet-class>org.cc.sbc.SayHelloServlet</servlet-class>
    <init-param>
      <param-name>compilerSourceVM</param-name>
      <param-value>1.8</param-value>
    </init-param>
    <init-param>
      <param-name>compilerTargetVM</param-name>
      <param-value>1.8</param-value>
    </init-param>
  </servlet>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

所以我一直在尋找stackoverflow。 所以我誤會了我的錯誤。 由於沒有任何反應,我的應用程序ajax文件甚至沒有被使用。 好像根本沒有其他腳本。 看我的項目結構,我的app-ajax文件放在文件夾js中。 這就是為什么它從未被調用過的原因。 將我的app-ajax文件與index.jsp文件放在同一目錄后,它就可以正常工作。 這不是最簡單的解決方案,但對我來說卻很奇怪。 任何人都應該遇到相同的問題。

那你的網址呢:

@WebServlet("/clientest")
public class SayHelloServlet extends HttpServlet

/clientest

$.ajax({
        url : 'clientserver',

clientserver

它應該說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM