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); ?>
返回資料為[]
回複內容:
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);