xmlHttp.readyState 为什么会等于1

 "QueryID": function () {
            var xmlHttp = Operate.GetAjax();            
            xmlHttp.open("post", "Exam.ashx", false);                      
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                    var date = JSON.parse(xmlHttp.responseText);
                   // alert("we");
                    $("#maingrid").ligerGrid({
                        columns: Operate.Var.columns,
                        data: data
                    });
                }
            }
            xmlHttp.send();
        }
            我在调试的时候发现xmlHttp.readyState=1,进入不了后面的语句,而且open请求的页面似乎打不开(因为在Exam.ashx页面加断点进不去),请教各位我这是什么原因?

没看出什么问题。。用浏览器开发工具看请求发出了没有,没进断点可能是调试器的问题。。

             }
            xmlHttp.send();
                        alert('i has send request')//////加这句看执行没有,执行了肯定是调试器的问题了

用chrome的console执行一下,看是否有什么错误信息。

xmlHttp.open("post", "Exam.ashx", false);
->
xmlHttp.open("post", "Exam.ashx", true);

换成同步的可以么?如果还不可以,用Fiddler看下你的ashx返回码

Operate是怎么创建的ajax,ajax对象是否被全局变量污染,你访问的是不是你创建的那一个