当前位置: 首页 > 面试题库 >

如何从jQuery的$ .ajax()函数调用servlet

闻枫
2023-03-14
问题内容

我试图从jQuery的.ajax()函数调用servlet。

目前,我认为我什至没有在调用servlet或将参数传递给它,但是许多Googling似乎并没有帮助。有任何想法吗?

这是我的html:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function login(){

  $("#loading").hide();

  var email = document.nameForm.email.value;  
  $.ajax({  
    type: "GET",  
    url: "ProcessForm",  
    data: "email="+email,  
    success: function(result){  
      alert(result);
    }                
  });  
}        
</script>
<title>My AJAX</title>
</head>
<body>
<p>This time it's gonna work</p>
<form name="nameForm" id="nameForm" method="post" action="javascript:login()">

邮件加载

</body>
</html>

还有我的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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>ajaxtry</display-name>
  <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
<servlet-name>ProcessForm</servlet-name>
<servlet-class>com.ajaxtry.web.ProcesFormServlet</servlet-class>
  </servlet>
   <servlet-mapping>
<servlet-name>ProcessForm</servlet-name>
<url-pattern>/ProcessForm</url-pattern>
  </servlet-mapping>
</web-app>

Servlet只是目前的模板:

package com.ajaxtry.web;

// imports here

public class ProcessFormServlet {

  public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    System.out.println(request.getParameter("email")); 
  }
}

问题答案:

这里有几个问题:

您正在调用System.out.println,它只是将输出发送到标准输出-而不是发送到浏览器。尝试将“ System.out.println”更改为“
out.println”

看起来您已经在servlet代码中定义了doPost(),但是您的JavaScript使用的是“
GET”方法。将doPost()重命名为doGet(),或定义它们两者。

话虽这么说,您可能根本不应该去理会javascript,直到您使servlet真正起作用为止,以使其保持简单。您应该能够通过在浏览器中加载/
ProcessForm?email = testing来对其进行测试,并查看一些输出。一旦掌握了这一点,就可以开始担心前端代码了。

希望这可以帮助您入门。



 类似资料:
  • 问题内容: 我熟悉如何使ajax转到php页面并执行一系列操作,然后返回json数据。但是,可以调用驻留在给定页面中的特定函数吗? 基本上我想要的是减少项目中的文件数。因此,我可以将很多常用功能放在一页中,然后立即调用我想要的任何功能。 问题答案: 对于ajax请求 1.在您的网页中包含Jquery库。例如: 2.点击按钮调用功能 3.点击按钮,调用JavaScript创建函数。 在服务器端的te

  • 问题内容: 我有一个名为myfunctions.php的文件,其中有很多功能,例如 和jQuery代码, 我需要在此文件中调用特定的函数;例如。我怎样才能做到这一点? 问题答案: 在PHP中 在AJAX中

  • 问题内容: 我正在使用jQuery的网页上工作。我有一个Ajax调用,它从服务器获取数据并更新div。在该数据内部有一个jQuery函数,但是在将数据加载到页面中之后未调用该函数。我已经在页面中包含了正确的js文件。 这是从Ajax调用返回并放入div的内容: 将html插入页面后,如何使返回的javascript运行? (我将Rails与jRails插件结合使用) 问题答案: 如果要对具有htm

  • 问题内容: 我已经审查了很多有关此类问题的答案,但现在我对最佳方法感到困惑。鉴于最新的jquery,我想 调用一个ajax函数 做ajax处理(成功或错误)//正常工作 成功或错误时,将状态返回到调用函数以进行进一步处理 在调用函数(doAjax)中,如何等待回调,然后完成对成功或错误的处理(在这种情况下,成功时清除表格,错误时保持原样) 感谢任何建议, Art [EDIT] 你们发现有一个错字,

  • 问题内容: 这可能是一个简单的答案,但是我正在使用jQuery的$ .ajax调用PHP脚本。我要做的基本上是将PHP脚本放入函数中,然后从javascript调用PHP函数。 对此 我如何在javascript中调用该函数?现在,我只使用$ .ajax和列出的PHP文件。 问题答案: 使用调用服务器上下文(或URL,或其他)来调用特定的“动作”。您想要的是这样的: 在服务器端,应读取POST参数

  • 问题内容: 首先,最感谢您解决我的问题,以及您可能提供的任何帮助! 好的,就像标题所说的,我需要从索引页面调用php函数,该函数使用JQuery Ajax在数据库中添加新记录作为投票。此函数将返回一个整数,然后将其打印在调用它的表单按钮内。 有人对我将如何实现这一目标有想法吗?任何指导表示赞赏! 我猜是表单动作属性发布了吗? 问题答案: 是的,创建一个单独的PHP文件,该文件调用该函数并回显输出。