---------------------
<html>
<script language="JavaScript" type="text/javascript" >
// Creates an XMLHttpRequest instance
function createXmlHttpRequestObject()
{
var xmlHttp;
// Try to instantiate the native XMLHttpRequest object
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
}
catch(e) { }
}
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
//实例化
function aaa(url){
var xmlHttpReq;
xmlHttpReq= createXmlHttpRequestObject();
xmlHttpReq.open("GET","exec.php?id="+url, true);
xmlHttpReq.send();
xmlHttpReq.onreadystatechange=ajax;
}
function ajax(){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
</script>
<a href="#" onclick="aaa('b')">bbb</a> <br>
<a href=javascript:aaa('a')>aaaa</a>
<div id='falcon'></div>
</html>
6 个解决方案
#1
if(xmlHttpReq.status==200){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
#2
xmlHttpReq.readyState:
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
if(xmlHttpReq.readyState==4){
if(xmlHttpReq.status==200){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
}
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
if(xmlHttpReq.readyState==4){
if(xmlHttpReq.status==200){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
}
#3
这只是确定状态而已。。。与本主题无关。
只是本地测试,回传是绝对没问题的。。。它是传完显示的。
#4
你ajax()没有返回值?
#5
很简单,因为你在 aaa 中声明了局部变量
var xmlHttpReq;
当然不能在外部访问啦
var xmlHttpReq;
当然不能在外部访问啦
#6
版主正解
你把 function createXmlHttpRequestObject()
{
var xmlHttp;
中的var xmlHttp; 移到函数的外面
你把 function createXmlHttpRequestObject()
{
var xmlHttp;
中的var xmlHttp; 移到函数的外面
#1
if(xmlHttpReq.status==200){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
#2
xmlHttpReq.readyState:
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
if(xmlHttpReq.readyState==4){
if(xmlHttpReq.status==200){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
}
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
if(xmlHttpReq.readyState==4){
if(xmlHttpReq.status==200){
document.getElementById('falcon').innerHTML=xmlHttpReq.responseText;
}
}
#3
这只是确定状态而已。。。与本主题无关。
只是本地测试,回传是绝对没问题的。。。它是传完显示的。
#4
你ajax()没有返回值?
#5
很简单,因为你在 aaa 中声明了局部变量
var xmlHttpReq;
当然不能在外部访问啦
var xmlHttpReq;
当然不能在外部访问啦
#6
版主正解
你把 function createXmlHttpRequestObject()
{
var xmlHttp;
中的var xmlHttp; 移到函数的外面
你把 function createXmlHttpRequestObject()
{
var xmlHttp;
中的var xmlHttp; 移到函数的外面