XMLHttpReq.status == 200错误高手帮忙
最近刚接触ajax,想用他刷新a.jsp,并传值给b.jsp(b.jsp上显示的是个人的照片,通过传递过来的staffID改变),然后b.jsp上的照片改变。高手帮忙指导下。从网上下了个例子,怎么调也调不通、
ajaxTest.jsp
————————————————————————————————————
<%@ page language="java" contentType="text/html; charset=GB2312"
pageEncoding="GB2312"%>
<%@ page import="com.hello.JXLEXcel"%>
<!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+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'ajaxIndex.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function test(){
var url = "getData.jsp?username="+document.getElementById("username").value;
sendRequest(url);
}
var XMLHttpReq = false;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}
//发送请求函数
function sendRequest(url) {
createXMLHttpRequest();
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.send(null); // 发送请求
}
// 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
var result = XMLHttpReq.responseText;
document.getElementById("data").innerHTML = result;
out.close();
return;//
}
else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
</script>
</head>
<body>
<table>
<tr>
<td>ajax提取数据:</td>
</tr>
<tr><td><div id="data">原始数据</div></td></tr>
<tr><td><input type="text" name="username" id="username"/></td></tr>
<tr><td><input type="button" value="submit" onclick="test()"/></td></tr>
</table>
</body>
</html>
__________________________________________________________________________________________--
getData.jsp
__________________________________________________________________________________________
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
out.print("username is :"+request.getParameter("username"));
%>
在eclipce里调试的时候老是出现问题,跳到这一步 else { //页面不正常
window.alert("您所请求的页面有异常。");
}
显示为
("您所请求的页面有异常。");
请问高手这是什么问题怎么解决,我的这种刷新怎么样才能实现谢谢了
--------------------编程问答-------------------- 改变图片,不能使用ajax,因为ajax不能请求二进制数据。你可以通过直接修改img的src来达到更换图片的目的。
即直接将img的src从xx.do?id=1修改为xx.do?id=2,这样就可以达到你的目的,浏览器会自动重新请求图片数据,并更换图片的。 --------------------编程问答--------------------
谢谢
可能你没看懂我的意思,我没有用ajax请求二进制数据,我请求的是staffID,然后我自己通过数据库查询获得照片显示
不过你说的方法挺吸引我,你说的那种具体是怎么做的呢 --------------------编程问答-------------------- 那你的图片是不是从数据库里面来? --------------------编程问答-------------------- 俺这菜鸟来学习一下 --------------------编程问答-------------------- var XMLHttpReq = false; 这里有问题吧!! 怎么定义的是boolean类型的 直接这样改试试 var XMLHttpReq --------------------编程问答-------------------- XMLHttpReq.send(null); // 发送请求 这里面怎么发送的请求是个null?? --------------------编程问答-------------------- 200不是错误吧 --------------------编程问答--------------------
是的图片从数据库中来的
--------------------编程问答--------------------
那应该怎么样做呢 --------------------编程问答--------------------
不行的还是原来的错误
补充:Java , Java EE