首页 > ajax上传文件后台使用$_files接受为空

ajax上传文件后台使用$_files接受为空

javascript代码:

<html><head><meta charset="UTF-8">
<style>
img{
    max-width:80%;
    display:block;
}
</style>
</head><body><input id="img" type="file">
<p id="text"></p>
<script>
var 
up=function(o,success,x,file){
    if(typeof success=='function')
    file=o;
    x=new XMLHttpRequest()
    x.open('POST','http://127.0.0.1/up.php?r='+Math.random(),1)

    x.onload=function(r){
        r=x.responseText
        if(success)//if r.pid and the twice parameter existing
            return success(r)
    }
    x.send(file)
}
</script>
<script>
img.onchange=function(){
    if(!this.files||!this.files[0])
        return alert('选取文件出错!')

    var 
    imgfile=this.files[0]

    if(imgfile.type.indexOf('image')!=0)
        return alert('这不是一个图像或音频!')
    
    up(imgfile,function(r){
        text.innerHTML=r

    })
}
</script>
</body>
</html>

后台代码:

   <?php
   header('Access-Control-Allow-Origin:*');
   header("Content-Type:text/json;charset=utf-8");
   echo json_encode($_FILES); 
   ?>
   

返回数据为[]


异步上传文件,应使用FormData。例如:

var oMyForm = new FormData();
oMyForm.append("file", file);
x.send(oMyForm);

参考地址:http://www.cnblogs.com/lhb25/...

【热门文章】
【热门文章】