以下为ajax和jsp之间调用。目前代码有问题,希望高手赐教。
主要有以下问题:
1、callback方法中的status!=200而是==0,不明白为什么?(网上说是本地正确反馈)
2、获取不到jsp中out.print的值,获取到的responseText==“”,但是明明给传值了,不解。
<!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>Insert title here</title>
</head>
<body>
<button name="aa" value="是否支持ajax" onclick="getHttpRequest();">是否支持ajax</button>
<script type="text/javascript">
function getHttpRequest(){
var xmlHttp;
try{
xmlHttp = new XMLHttpRequest();
alert("非IE获取");
}catch(e){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
alert("IE6.0+获取");
}catch(e){
try{
xmlHttp = new ActiveXObeject("Microsoft.XMLHTTP");
alert("IE低版本获取");
}catch(e){
alert("您的浏览器不支持AJAX");
return false;
}
}
}
return xmlHttp;
}
//-----------------------------------------------------------------------
//打开服务器响应过程函数
//-----------------------------------------------------------------------
function callback(xmlrequest){
if(xmlrequest.readyState==4 && xmlrequest.status==200){
var result=xmlrequest.responseText;
document.getElementById("checkInfo").innerHTML=result;
}
}
function go(){
//判断表单输入内容---------------------------------------------
var form=document.loginForm;
if(form.username.value==""){
document.getElementById("checkInfo").innerHTML="用户名不能为空";
return;
}
if(form.pass.value==""){
document.getElementById("checkInfo").innerHTML="密码不能为空";
return;
}
document.getElementById("checkInfo").innerHTML="正在登录,请稍候......";
document.getElementById("bt").disabled=true;
var xmlHttp = getHttpRequest();
if(xmlHttp == null){
alert("您的浏览器不支持AJAX");
}else{
//构造发送数据字符串
var url="../deal/getResult.jsp";
var formData="username="+form.username.value+"&pass="+form.pass.value;
url= url+ "?"+formData;
alert(url);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=function(){
callback(xmlHttp);
}
xmlHttp.send(null);
}
}
</script>
<div id="checkInfo">请填写用户名和密码</div>
<form action="" method="post" name="loginForm" >
<input type="text" name="username" />
<br />
<input type="password" name="pass" />
<br />
<input id="bt" type="button" name="Submit" value="提交验证" onClick="go()">
<br />
</form>
</body>
</html>
调用的jsp判断ajax提交内容,根据提交内容返回结果,显示结果:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.io.PrintWriter"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
String username = request.getParameter("username");
String password = request.getParameter("pass");
response.setHeader("Charset","UTF-8");
response.setContentType("text/html; charset=UTF-8");
if("admin".equals(username) && "admin".equals(password)){
out.print("恭喜你通过验证");
}else{
out.print("用户名或者密码有误");
}
%>
相关推荐
4. **后端JSP处理**:接收到请求后,JSP页面通过数据库查询与所选省份关联的城市数据。可以使用JDBC连接数据库,执行SQL查询语句。查询结果通常以JSON格式返回,便于前端解析。 5. **响应数据处理**:前端接收到...
在erji.jsp中,我们首先获取请求参数,然后调用一个方法(如`getSecondLevelData`)从数据库或其他数据源获取与之关联的二级选项。最后,使用Gson库将结果转换成JSON字符串并返回给客户端。 总结来说,这个例子展示...
2. AJAX调用:使用JavaScript(例如jQuery库)编写AJAX代码,向服务器发送请求,携带当前选中的值。请求的URL通常指向Struts2的Action。 3. Struts2 Action处理:在Struts2的Action类中,接收AJAX请求,根据请求...
3. **Ajax请求**:使用JavaScript编写Ajax调用,监听一级下拉框的`onchange`事件。当用户改变一级下拉框的值时,触发Ajax请求,将选择的值作为参数发送到服务器。 4. **服务器响应**:在JSP文件中,接收到请求后,...
当用户在省份选项中做出选择时,通过触发JavaScript事件来调用Ajax函数。 ```html ()"> <!-- 省份选项将动态填充 --> <!-- 城市选项将根据省份选择动态填充 --> ``` 在`loadCities()`函数中,我们将使用...
虽然描述中没有明确提及,但考虑到现代开发实践,"爱问系统"很可能使用了前端框架或库,如jQuery、Vue.js、React或Angular,以简化AJAX调用和DOM操作。这些工具可以提高代码的可维护性和性能,同时提供丰富的组件和...
JavaScript、JSP、XML和Ajax是Java Web开发中的关键技术,它们在构建动态、交互式的Web应用程序中发挥着至关重要的作用。下面将详细阐述这些技术及其相互间的关联。 **JavaScript** 是一种轻量级的解释性编程语言,...
JSP与Servlet紧密关联,提供了更方便的视图层开发。 在这个"zipcode_1st"示例中,我们可能用到了以下关键知识点: 1. **Ajax请求**:使用JavaScript的XMLHttpRequest对象创建Ajax请求,向服务器发送一个HTTP请求,...
4. **服务器端处理**:JSP接收AJAX请求,处理查询逻辑,从数据库检索关联数据,可以使用Java的Servlet API或者Spring MVC等框架。 5. **响应处理**:服务器将查询结果以JSON或其他格式返回,JavaScript接收到响应后...
Ajax的基本用法是创建一个新的XMLHttpRequest对象,然后调用其`open()`和`send()`方法。这里我们使用jQuery库简化Ajax操作: ```javascript function saveDraft() { var draftContent = $('#editor').val(); // ...
级联下拉列表通常用于关联数据的筛选,例如省份-城市-区县的选择,当用户在一级下拉列表中选择一个选项时,二级下拉列表会动态加载与之相关的数据。 首先,我们需要理解Ajax的工作原理。Ajax允许我们通过JavaScript...
在花卉管理系统中,JSP用于创建用户界面,展示数据,接收用户输入,并调用后台的Servlet进行业务逻辑处理。 Servlet是Java Web应用的核心组件,它运行在服务器端,负责处理HTTP请求,执行业务逻辑,并返回响应。在...
采用ajax技术实现的图形验证码,在前端进行验证。验证码信息为图片。每一行代码均有注释,通俗易懂。 实现步骤: 1、创建web工程 ... 6、在js文件中,通过dwr,调用AjaxService类中的方法,取得数据,实现判断
当用户在购物车中进行操作时,例如点击“添加到购物车”按钮,JavaScript会通过Ajax调用服务器上的JSP页面,将请求发送到后端处理。 在JSP端,我们可能有一个处理购物车操作的Servlet或Controller,它接收Ajax请求...
可以使用jQuery库简化Ajax调用,监听用户的下拉框改变事件,触发Ajax请求。收到服务器返回的数据后,JavaScript动态地更新下级联动框的选项。 总结起来,"jsp-ajax的三级联动(省市区mysql数据库表)"项目涵盖了以下...
在JSP中,我们可以通过`<jsp:include>`、`<jsp:forward>`等动作元素来调用其他Servlet或者JSP页面,实现页面间的跳转和数据共享。 在"JSP实用编程集锦"中,可能涵盖了JSP的各种实用技巧,如使用内置对象(如request...
2. **Servlet与JSP交互**:JSP与Servlet紧密关联,Servlet用于处理请求和响应,而JSP负责展示。压缩包可能包含关于如何在JSP中调用Servlet,以及如何共享数据(如使用session和request对象)的教程。 3. **EL...
在这个聊天应用中,JavaBean可能被用作存储用户信息、聊天记录等数据,并提供方法供JSP页面调用。 3. **JDBC(Java Database Connectivity)**:JSP与Access数据库交互的桥梁。Access是一种流行的轻量级关系型...