XHR 从 PHP 页面返回值


xhr return value from a php page

好吧,伙计们我有点卡在这里。我通常使用 jquery 来执行此操作,但我发现它不能用 jquery 完成,所以我这样做很好,所以这是我的代码

var url = ("upload.php?loc="+uplocation);   
    var xhr = new XMLHttpRequest();     
        if(xhr.upload){ // check if upload property exists
            xhr.open("POST", url, true);
            xhr.setRequestHeader("X_FILENAME", file.name);          
            xhr.send(file); 
        }   

它所做的只是将文件发送到 php 页面,但 php 页面不会上传不是我想要的图像,所以无论如何他们都会返回页面上显示的所有内容

如果是jQuery,我会做这样的事情

$.ajax({
                type: "POST",
                url: 'json/submitsongs.php',
                data: loca,
            success: function(data){
                                alert(data);
                            }
            });

所以我的问题是如何返回 PHP 页面上回显的内容并提醒它(出于调试原因)。

感谢您的帮助

您可以为所需的任何事件(加载、错误、进度等)添加事件侦听器。因此,在您的情况下,您将使用"load"事件,该事件表示文件已完成加载:

xhr.addEventListener('load', onComplete, false);

onComplete 是将事件作为参数的回调函数。此事件包含响应文本:

function onComplete(event) {
    alert(event.target.responseText);
}

截至今天,您无法使用 Ajax 上传异步。
要么使用Iframe(如Google)或一些漂亮的Flash(或Java)上传应用程序。
不确定,但可能是HTML5有一个解决方案,但它不会跨浏览器。