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了东西出来

解决方案 »

  1.   

    http://172.16.0.39:7001/defaultroot/SendDataToHRAction.do?跨域访问了?LZ还是用JQuery吧~
      

  2.   

    没看到你在处理返回结果时,由回调函数处理啊。。send 或者open应该有个参数是来定义回调函数dealAjaxReturnValue的啊。
      

  3.   

    HRXMLHttp.onreadyStateChange = dealAjaxReturnValue;
    不就是这个咯,dealAjaxReturnValue这个函数里面我alert()任何东西都没有反应,由此推测可能是
    onreadyStateChange这个东西压根就没有change。
      

  4.   

    有没有调用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"";
    };
    };
      

  5.   

    额,这样做果然可以了。难道获得返回值不用等到state等于4的时候吗???  发送过后立即就得到这个返回值了?