首页 新闻 会员 周边 捐助

javascript XMLHTTPRequest 无法获取返回状态,求解

0
悬赏园豆:5 [待解决问题]
Html页面
<script type ="text/javascript" language ="javascript" >
var req;
//定义变量,用来创建xmlhttprequest对象
function creatReq() // 创建xmlhttprequest,ajax开始
{
alert(
"调用成功");
var url
= "WebService2.asmx?op=HelloWorld"; //要请求的服务端地址
if (window.XMLHttpRequest) //非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建
{
req
= new XMLHttpRequest();
alert(
"IE正常");
}
else if (window.ActiveXObject) //IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败.
{
req
= new ActiveXObject("Microsoft.XMLHttp");
}

if (req) //成功创建xmlhttprequest
{
alert(
"创建成功");
req.open(
"POST", url, true); //与服务端建立连接(请求方式post或get,地址,true表示异步)
req.onreadystatechange = callback; //指定回调函数
req.send(null); //发送请求
alert("发送成功!");
}
else {alert("cuo");};
}

function callback()
//回调函数,对服务端的响应处理,监视response状态
{
alert(
"回调成功");
if (req.readystate == 0) { alert("未初始化"); }
if (req.readystate == 1) {alert("读取中"); }
if (req.readystate == 2) { alert("以读取"); }
if (req.readystate == 3) { alert("交互中"); }
if (req.readystate == 4) //请求状态为4表示成功
{
alert(
"状态成功");
if (req.status == 200) //http状态200表示OK
{
Dispaly(str);
//所有状态成功,执行此函数,显示数据
alert("回传成功");
}
else //http返回状态失败
{
alert(
"服务端返回状态" + req.statusText);
}
}
else //请求状态还没有成功,页面等待
{
alert(
"加载");
document.getElementById(
"myTime").innerHTML = "数据加载中";
}
}

function Dispaly(str)
//接受服务端返回的数据,对其进行显示
{
alert(
"显示函数");
document.getElementById(
"myTime").innerHTML = req.responseText;
}

</script>
CS页面
protected void Page_Load(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(
0); //为了看到ajax效果,将当前线程延时1000毫秒
Response.Write(DateTime.Now.ToString()); //输出当前时间


}
提交后一直在加载和回调函数处,未能获取返回状态,在调试状态无法发送到后台页面,求解
问题补充:

有很多;  前面是alert()  测试程序到哪一步的,但是复制上去没了只剩下;了

败家崽的主页 败家崽 | 初学一级 | 园豆:195
提问于:2011-06-22 17:37
< >
分享
所有回答(2)
0

建议用jquery $.ajax()就搞定了。http://api.jquery.com/jQuery.ajax/

希望能帮到你

today4king | 园豆:3499 (老鸟四级) | 2011-06-22 17:54
可是我不会Jquery啊
支持(0) 反对(0) 败家崽 | 园豆:195 (初学一级) | 2011-06-22 17:57
@败家崽:没有学习成本的,你看一眼我给你的链接就知道了。
支持(0) 反对(0) today4king | 园豆:3499 (老鸟四级) | 2011-06-23 09:56
0

首先直接运行WebService2.asmx?op=HelloWorld是否正常

慧☆星 | 园豆:5722 (大侠五级) | 2011-06-23 09:04
WebService2.asmx?op=HelloWorld 是WEB服务能打开的,返回XML,后来换成了logo.aspx也不行,通过IE的开发员工具检测到返回是500错误
支持(0) 反对(0) 败家崽 | 园豆:195 (初学一级) | 2011-06-23 09:33
500说明服务端错误或者程序有问题
支持(0) 反对(0) 慧☆星 | 园豆:5722 (大侠五级) | 2011-06-23 10:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册