我需要使用XMLHTTPREQUEST或 Microsoft Equivalent 从客户端浏览器向服务器发布一个长 xml 文件(例如 10 KB 大小)。如何使用ajax发布它?我应该在发送时进行 Base64 编码,因为数据更长(这样数据不会因任何错误而改变)吗?(如果是的话怎么做?)。我正在使用 Http POST 方法。有没有更好的方法?以下代码在 Firefox 中不起作用:
var postxmldata = function(xmldata, location, method, async, param) {
var params = param+"="+xmldata;
var http = initXml();
if(!http) return;
http.open("POST", location, async);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", xmldata.length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
}