Javascript 如何获得xhtmlrequest响应?
如何从PHP文件中获取响应? client.responseText不工作 我不知道该在这里输入什么,但它说需要更多的细节? 所以我试着给atm编码一个文件上传,这只是一个小小的开始,但是对于错误处理,我需要知道响应Javascript 如何获得xhtmlrequest响应?,javascript,ajax,Javascript,Ajax,如何从PHP文件中获取响应? client.responseText不工作 我不知道该在这里输入什么,但它说需要更多的细节? 所以我试着给atm编码一个文件上传,这只是一个小小的开始,但是对于错误处理,我需要知道响应 function fileChange() { var fileList = document.getElementById("fileA").files; //File Objekt (erstes Element der FileList) var
function fileChange() {
var fileList = document.getElementById("fileA").files;
//File Objekt (erstes Element der FileList)
var file = fileList[0];
//File Objekt nicht vorhanden = keine Datei ausgewählt oder vom Browser nicht unterstützt
if (!file)
return;
document.getElementById("fileName").innerHTML = 'Dateiname: ' + file.name;
document.getElementById("fileSize").innerHTML = 'Dateigröße: ' + file.size + ' B';
document.getElementById("fileType").innerHTML = 'Dateitype: ' + file.type;
document.getElementById("progress").value = 0;
document.getElementById("prozent").innerHTML = "0%";
}
var client = null;
function uploadFile() {
//Wieder unser File Objekt
var file = document.getElementById("fileA").files[0];
var interpret = document.getElementById("interpret").value;
var title = document.getElementById("title").value;
alert(interpret);
alert(title);
//FormData Objekt erzeugen
var formData = new FormData();
//XMLHttpRequest Objekt erzeugen
client = new XMLHttpRequest();
var prog = document.getElementById("progress");
if (!file)
return;
prog.value = 0;
prog.max = 100;
formData.append("datei", file);
formData.append("interpret", interpret);
formData.append("title", title);
client.onerror = function(e) {
alert("onError");
};
client.onload = function(e) {
document.getElementById("prozent").innerHTML = "100%";
prog.value = prog.max;
};
client.upload.onprogress = function(e) {
var p = Math.round(100 / e.total * e.loaded);
document.getElementById("progress").value = p;
document.getElementById("prozent").innerHTML = p + "%";
};
client.onabort = function(e) {
alert("Upload abgebrochen");
};
client.open("POST", "./ajax/fileupload.php");
client.send(formData);
}
function uploadAbort() {
if (client instanceof XMLHttpRequest)
client.abort();
}
请参阅MDN上的此页,您在哪里尝试了
client.responseText
?我看不出来。仅供参考,client
是一个全局变量。你确定你没有在什么地方撞到它吗?哦。。。我看到您的var client=null
在该函数之外。这让我觉得你是在试图在回调之外得到回应。对uploadFile()
的调用在哪里?我们缺少相关信息。如果它在client.send(formData)
之后,那么它显然无法工作,因为这是异步代码,这意味着.send()
行不会等待响应返回后再继续。你应该把它放在onload
事件处理程序中。谢谢你眯着眼睛:)你的答案行得通。