2012-05-27 36 views
1

好吧,我有点卡在这里。我通常使用jQuery来做到这一点,但我发现它不能使用jQuery做这样的IM做这样好了,所以这是我的代码从PHP页面xhr返回值

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页面上回应并提醒它(f或调试原因)。

感谢您的帮助

回答

0

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

+0

揭掉和多数民众赞成Ÿ我用一个XHR上传,而不是jQuery的但不是这就是我的问题。我都准备知道我不能上传使用jQuery – ryanc1256

1

您可以为所需的任何事件(加载,错误,进度等)添加事件侦听器。所以你的情况,你会用“负荷”事件,这意味着该文件已加载完毕:

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

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

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