簡體   English   中英

在XmlHttprequest(javascript)中發送生成的(JSZip)zip文件

[英]Sending generated (JSZip) zip file in XmlHttprequest (javascript)

我正在設計一個Web應用程序,在該應用程序中,我根據用戶輸入創建了一組文件,使用JSZip庫將其壓縮,然后嘗試使用Xhr將文件發布到服務器。 代碼如下:

var content = zip.generate({type : "blob"});
var server_path = document.getElementById('build_server').value;
server_path = server_path + '/upload_project';
console.log(server_path);
global_oreq = new XMLHttpRequest();
var file_name = design_name + '.zip';
var formData = new FormData();
var json_build_answer = '';
global_oreq.open("POST", server_path, true);
global_oreq.onload = function(e) {
    // json_build_answer = JSON.parse(oReq.responseText);
    console.log('test');
    console.log(global_oreq.responseText);
};
formData.append('file', content, file_name);
global_oreq.send(formData);

我的這段代碼的問題是永遠不會調用onload函數。 我以為這是因為我的函數在請求的要求之前退出了,所以我在參數中將Xhr請求同步設置設置為false。 這導致了NS_ERROR。 我讀到Xhr無法在遠程域上執行請求。 真的嗎 ? 您將如何解決此問題。 從服務器端(我要發布到該端)的角度來看,是接收到文件並返回json響應。 似乎客戶端從未收到響應。

謝謝你的幫助 !

用這個

var content = zip.generate({type : "blob"});
var server_path = document.getElementById('build_server').value;
server_path = server_path + '/upload_project';
console.log(server_path);
var global_oreq = new XMLHttpRequest();
var file_name = design_name + '.zip';
var formData = new FormData();
var json_build_answer = '';
global_oreq.open("POST", server_path, true);
global_oreq.onload = function(e) {
    // json_build_answer = JSON.parse(oReq.responseText);
console.log('test');
console.log(global_oreq.responseText);
};
formData.append('file', content, file_name);
global_oreq.send(formData);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM