Javascript 如何获得xhtmlrequest响应?

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

如何从PHP文件中获取响应? client.responseText不工作

我不知道该在这里输入什么,但它说需要更多的细节? 所以我试着给atm编码一个文件上传,这只是一个小小的开始,但是对于错误处理,我需要知道响应

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
事件处理程序中。谢谢你眯着眼睛:)你的答案行得通。