ajax的onreadyStateChange不触发

lujun0108 2011-01-27 05:13:54

var HRXMLHttp;
function createAjax(functionName){
if (typeof XMLHttpRequest != "undefined") {
HRXMLHttp = new XMLHttpRequest();
if(HRXMLHttp.overrideMimeType){
HRXMLHttp.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
var aVersions = [ "Msxml2.XMLHttp.5.0", "Msxml2.XMLHttp.4.0",
"Msxml2.XMLHttp.3.0", "Msxml2.XMLHttp", "Microsoft.XMLHttp" ];
for ( var i = 0; i < aVersions.length; i++) {
try {
HRXMLHttp = new ActiveXObject(aVersions[i]);
break;
} catch (e) {
}
}
}
HRXMLHttp.onreadyStateChange = dealAjaxReturnValue;
HRXMLHttp.open('GET', 'http://172.16.0.39:7001/defaultroot/SendDataToHRAction.do?flag=sendToHR&recordId='+document.all.recordId.value, true);
HRXMLHttp.send(null);}

function dealAjaxReturnValue(){
alert(HRXMLHttp.readyState);
//if(HRXMLHttp.readyState == 4){
//if(HRXMLHttp.status == 500){
//alert("在将数据同步到HR的时候发生了内部服务器错误。");
//}
//var returnValue = HRXMLHttp.responseText;
//alert(returnValue);
//eval(functionName);
//}
}

结果根本没有任何对话框弹出。。 后台已经收到了ajax请求,也response.write了东西出来
...全文
532 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lujun0108 2011-01-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xing_6 的回复:]
有没有调用createAjax ?试试这个

JScript code

function getMsgByXmlhttp(url){
if(url==null){
alert("传递的URL不能为空!");
return "" ;
};
try{
var xmlhttp=new ActiveXOb……
[/Quote]
额,这样做果然可以了。难道获得返回值不用等到state等于4的时候吗??? 发送过后立即就得到这个返回值了?
xing_6 2011-01-28
  • 打赏
  • 举报
回复
有没有调用createAjax ?试试这个

function getMsgByXmlhttp(url){
if(url==null){
alert("传递的URL不能为空!");
return "" ;
};
try{
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
if(xmlhttp==null){
alert("创建XMLHTTP对象失败!"+ex.description);
return "";
};
xmlhttp.open("POST",url,false);
xmlhttp.send();
return xmlhttp.responseText;
}catch(ex){
alert("XMLHTTP对象传递数据失败!"+ex.description);
return"";
};
};




lujun0108 2011-01-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 music_mouse 的回复:]
没看到你在处理返回结果时,由回调函数处理啊。。send 或者open应该有个参数是来定义回调函数dealAjaxReturnValue的啊。
[/Quote]
HRXMLHttp.onreadyStateChange = dealAjaxReturnValue;
不就是这个咯,dealAjaxReturnValue这个函数里面我alert()任何东西都没有反应,由此推测可能是
onreadyStateChange这个东西压根就没有change。
lujun0108 2011-01-27
  • 打赏
  • 举报
回复
哪位大哥劳神看一下吧,快过年了 项目比较紧 急着回家。即使过客也麻烦顶一下
music_mouse 2011-01-27
  • 打赏
  • 举报
回复
没看到你在处理返回结果时,由回调函数处理啊。。send 或者open应该有个参数是来定义回调函数dealAjaxReturnValue的啊。
lujun0108 2011-01-27
  • 打赏
  • 举报
回复
没有跨域访问哈,这个只是鄙人懒得弄地址的,干脆弄了个完全的地址 嘿嘿
君望永远 2011-01-27
  • 打赏
  • 举报
回复
http://172.16.0.39:7001/defaultroot/SendDataToHRAction.do?跨域访问了?LZ还是用JQuery吧~

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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