是不是你顺序写错了,改为下面试试
xmlhttp.open("GET","/servlet/xyz?name=abc",true);
xmlhttp.send();
xmlhttp.onreadystatechange=a();

解决方案 »

  1.   

    应该是这样的,你试试还有没有问题
    xmlhttp.open("GET","/servlet/xyz?name=abc",true);
    xmlhttp.onreadystatechange=a();
    xmlhttp.send();
      

  2.   

    现在都什么年代了,用原生js写ajax过时拉哈,,,java项目可以使用dwr,最好使用...     jquery第二选择..
      

  3.   

     1.xmlhttp.onreadystatechange=a();
    2. xmlhttp.open("GET","/servlet/xyz?name=abc",true);
    3. xmlhttp.send();
    把1和2换下位置
      

  4.   

    var xmlhttp;你将这个变量设置为、全局的、放在方法外面、
      

  5.   

    1、请打开浏览器的debug模式,然后查看网络请求。例如谷歌浏览器,按F12(IE也是),点击‘Network’(IE为网络),访问你实现了具有ajax功能的页面,你会在Network的表格中看到一些url地址,看看是否存在你在ajax中访问的url,并查看状态。
    该图中的url为404,表示地址不存在,点击该url,你可以 看到更加详细的信息
    2、debug模式下,谷歌请查看Console(IE为控制台)是否有错误报告
    一般的JS问题都可以通过以上两种方式排查错误
      

  6.   

    使用jquery吧,这样你的bug会好找点,还有就是找个调试器,建议:火狐!!!
      

  7.   

    给你个实用的
    //提交修改表单
    function submitIssueUpdate(){
    if(checkIssueParam() == false){return false;} 
    $.ajax({
       type: "POST",
       url: "<%=request.getContextPath()%>/admin/issue_updateIssue.action",
       data: $("#issue-update-form").serialize(),
       success: function(flag){
        if(flag == -2){
         if(confirm("置顶数量已经超过"+${topCount}+"个,去查看置顶的提问?")){
    loadMainPageAndSelectTop();
    return false;
    } else {
    alert("您已取消了此次修改");
    //$("#declares").find("option[value='2']").attr("selected",false);
    //$("#declares").find("option[value='1']").attr("selected",true);//没有起作用
    return false;
    }
    }
            if(flag > 0){
              alert("修改成功");
              refreshIssueManage();
                }else{
    alert("修改失败");
                }
       }
    });
    }