Ajax错误...

fonvey 2008-06-01 02:20:14
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language="javascript">
var http_request = false;

function ajax_v2_postdata(url) {

//REFORMAT QUERYDATA TO AVOID ERRORS IN POST FORMATTING
//querydata = querydata.replace(/ /g, "+");
//querydata = querydata.replace(/&/g, "%3C");

http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
//var my="goo";
http_request.onreadystatechange =ajax_processReply("goo");//提示出错
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//http_request.setRequestHeader("Content-length", querydata.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(null);

}

function ajax_processReply(myspace) {
//var myspace="goo";
if (http_request.readyState == 4) {
if (http_request.status == 200) {
result = http_request.responseText;
document.getElementById(myspace).innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}

</script>
<body>

<table width="407" height="82" border="1">
<tr>
<td width="35">用户</td>
<td width="168">
<input type="text" name="username" onblur="ajax_v2_postdata('goog.asp?username=good')" />

</td>
<td width="182"><input type="text" name="goog" /></td>
</tr>
<tr>
<td> </td>
<td><div id="goo"></div></td>
<td><div id="gooh"></div></td>

</tr>
</table><div id="myspace"></div>
</body>
</html>



请高手看看,,不知为什么这行提示出错:
http_request.onreadystatechange =ajax_processReply("goo");//提示出错
...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2008-06-02
  • 打赏
  • 举报
回复
语法就是这样的,



<script language="javascript">
var http_request = false;
function ajax_v2_postdata(url) {

//REFORMAT QUERYDATA TO AVOID ERRORS IN POST FORMATTING
//querydata = querydata.replace(/ /g, "+");
//querydata = querydata.replace(/&/g, "%3C");

http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
var my="goo";
querydata = "xx"
http_request.open('POST', url, true);
http_request.onreadystatechange = function(){ ajax_processReply(http_request,my) }
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", querydata.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(null);

}

function ajax_processReply(req,myspace) {
if (req.readyState == 4) {
if (req.status == 200) {
result = req.responseText;
document.getElementById(myspace).innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}

</script>

CodingApplication 2008-06-02
  • 打赏
  • 举报
回复
试试:

function ajax_processReply(myspace) {
return function () {
//var myspace="goo";
if (http_request.readyState == 4) {
if (http_request.status == 200) {
result = http_request.responseText;
document.getElementById(myspace).innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}
}
fonvey 2008-06-01
  • 打赏
  • 举报
回复
因为我想写一个可以带参数,,然后把这个ajax封装成一个js的类
fonvey 2008-06-01
  • 打赏
  • 举报
回复
我知道这样是可以的
http_request.onreadystatechange = ajax_processReply

但是为什么不可以带参数的啊
孟子E章 2008-06-01
  • 打赏
  • 举报
回复

<%@LANGUAGE="VBSCRIPT"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script language="javascript">
var http_request = false;

function ajax_v2_postdata(url) {

//REFORMAT QUERYDATA TO AVOID ERRORS IN POST FORMATTING
//querydata = querydata.replace(/ /g, "+");
//querydata = querydata.replace(/&/g, "%3C");

http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
//var my="goo";
querydata = "xx"
http_request.open('POST', url, true);
http_request.onreadystatechange = ajax_processReply
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", querydata.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(null);

}

function ajax_processReply(myspace) {
var myspace="goo";
if (http_request.readyState == 4) {
if (http_request.status == 200) {
result = http_request.responseText;
document.getElementById(myspace).innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}

</script>
<body>

<table width="407" height="82" border="1">
<tr>
<td width="35">用户</td>
<td width="168">
<input type="text" name="username" onblur="ajax_v2_postdata('goog.asp?username=good')" />

</td>
<td width="182"><input type="text" name="goog" /></td>
</tr>
<tr>
<td> </td>
<td><div id="goo"></div></td>
<td><div id="gooh"></div></td>

</tr>
</table><div id="myspace"></div>
</body>
</html>


孟子E章 2008-06-01
  • 打赏
  • 举报
回复
应该是
http_request.onreadystatechange = ajax_processReply
fonvey 2008-06-01
  • 打赏
  • 举报
回复
晕..看都没有人看啊

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧