【发布时间】:2014-03-20 21:49:30
【问题描述】:
我正在尝试使用 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
}
有人可以帮我吗?
【问题讨论】:
-
你必须真正等到readyState为4,然后检查状态。看看网上的例子。
-
好的,我删除了我原来的问题,你怎么称呼这个方法?按钮点击,表单提交?
-
我用按钮点击(onclick)调用这个方法。
标签: javascript xmlhttprequest ajax-request