Javascript 状态为0的XMLHttpRequest

Javascript 状态为0的XMLHttpRequest,javascript,xmlhttprequest,ajax-request,Javascript,Xmlhttprequest,Ajax Request,我试图使用XMLHttpRequest,但是当我调用xmlhttp.send(post)时,我收到了状态为1、状态为0的xmlhttp。我认为状态等于1是可以的,因为平均服务器连接已建立,但为什么状态为0?不幸的是,对方没有收到我的请求 function ajaxRequest(method, url, post, callback_fn){ var xmlhttp; if (window.XMLHttpRequest) { //code for IE7+, Firefox, C

我试图使用XMLHttpRequest,但是当我调用xmlhttp.send(post)时,我收到了状态为1、状态为0的xmlhttp。我认为状态等于1是可以的,因为平均服务器连接已建立,但为什么状态为0?不幸的是,对方没有收到我的请求

function ajaxRequest(method, url, post, callback_fn){
    var xmlhttp;
    if (window.XMLHttpRequest) { //code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    } else { //code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open(method,url,true);
    if (method=="POST"){
        xmlhttp.setRequestHeader("Content-Type", "text/plain; charset=UTF-8");
        xmlhttp.setRequestHeader("Content-Length", post.length);
    }
    xmlhttp.send(post);
    console.log("xmlhttp.readyState = " + xmlhttp.readyState); // = 1
    console.log("xmlhttp.status = " + xmlhttp.status); // = 0
}

有人能帮我吗?

当状态改变时,
onreadystatechange
事件会触发,只有当有返回响应时,您才能检查请求的状态码是什么(200、404等)


取消单击并查看是否停止状态为零

onclick="ajaxRequest(...); return false;"

问题是页面正在刷新并终止Ajax请求。

您必须实际等待readyState为4,然后检查状态。看看网上的例子。好吧,我删除了我的原始问题,你怎么称呼这个方法?按钮点击,表单提交?我称这种方法为按钮点击(onclick)。可能重复感谢您的回答。我已经尝试过了,但我的应用程序从未调用readystatechange函数。可能是什么问题?这不是应用程序调用的问题,所有XMLHttpRequests在执行ajax请求时都会多次触发onreadystatechange事件->是的,我知道。我会更好地表达自己。我的XMLHttpRequest永远不会在ReadyStateChange上触发,也不会显示任何javascript异常或错误日志。这意味着永远不会调用
ajaxRequest
函数。不,我调用它。我可以确认这一点,因为我看到了“console.log”(“xmlhttp.readyState=“+xmlhttp.readyState”);//=1 console.log(“xmlhttp.status=“+xmlhttp.status”);//=0`,调用到ajaxRequest函数中。好的@epascarello,当我在onclick中输入return false时,onreadystatechange函数被激发。为什么我要这么做?这条路对吗?
onclick="ajaxRequest(...); return false;"