xhr从php页面返回值

时间:2012-05-27 01:40:49

标签: php xmlhttprequest

好的,我有点卡在这里。我通常使用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页面上回显的内容并提醒它(出于调试原因)。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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