请问ajax请求返回的是zip包,zip里面是xml文件,该怎么解压缩得到xml文件并解析?

时间:2022-10-07 16:03:14
ajax请求得到返回的是一个zip包,这个zip包里面是xml文件,谁能给一个解压缩zip包得到里面的xml文件的方法?主要是解压缩,解析倒是好说


var postXml = '<?xml version="1.0" encoding="UTF-8"?><root>...</root>';
var serverUrl = 'http://www.xxx.com';

var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", serverUrl, true);
xmlHttp.onreadystatechange =  function() {
if (xmlHttp.readyState === XMLHttpRequest.DONE) {
console.log(xmlHttp.status);
if(xmlHttp.status === 200){
console.log("getAllResponseHeaders: "+ xmlHttp.getAllResponseHeaders());
console.log(xmlHttp.responseText);
}
}
}
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
xmlHttp.setRequestHeader("Content-Type", "text/xml");
xmlHttp.send(postXml);


上面这段代码现在第一行log能打出
200
getAllResponseHeaders: content-length: 418
content-range: 418
encoding: gzip

说明已经成功得到了返回的zip包,可是打印responseText是空的(废话,一定的)。我该怎么解压缩这个zip包?

ps:说换方法的就不用说了,客户规定的返回的就是zip包,哎。。

谢谢!!

4 个解决方案

#1


有人没。。。哎。。

#2


该回复于2012-06-04 14:35:57被版主删除

#3


responseText ,看这个属性名你就知道,是响应文本,你的zip是文本吗?


你在浏览器地址栏访问一下你用ajax请求的地址。看看有没有办法把得到zip解压,并在浏览器中显示xml内容
就算可以,也超出了javascript的能力范围

#4


返回设置类型application/zip

这样就返回zip。。

#1


有人没。。。哎。。

#2


该回复于2012-06-04 14:35:57被版主删除

#3


responseText ,看这个属性名你就知道,是响应文本,你的zip是文本吗?


你在浏览器地址栏访问一下你用ajax请求的地址。看看有没有办法把得到zip解压,并在浏览器中显示xml内容
就算可以,也超出了javascript的能力范围

#4


返回设置类型application/zip

这样就返回zip。。