首頁 >後端開發 >php教程 >php+ajax無刷新檔案上傳實作步驟詳解

php+ajax無刷新檔案上傳實作步驟詳解

php中世界最好的语言
php中世界最好的语言原創
2018-05-18 14:54:161873瀏覽

這次帶給大家php ajax無刷新檔案上傳實作步驟詳解,php ajax無刷新檔案上傳實現的注意事項有哪些,下面就是實戰案例,一起來看一下。

檔案上傳的表單格式

<form id="uploadform" enctype="multipart/form-data" name="uploadform" method="post" >
    <input id="fileToUpload" type="file" name="fileToUpload" class="uploadinput" >
    <input id="add_file" type="button" value="提交">
</form>

AjaxFileUpload實作檔案非同步上傳效果更好,使用簡單:

 <!DOCTYPE html>
  <html>
    <head>
      <title></title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="http://www.phpddt.com/usr/themes/dddefault/jquery-1.4.2.min.js"></script>
      <script type="text/javascript" src="ajaxfileupload.js"></script>
    </head>
  <script>
  jQuery(function(){  
   $("#buttonUpload").click(function(){   
     //加载图标  
     /* $("#loading").ajaxStart(function(){
      $(this).show();
     }).ajaxComplete(function(){
      $(this).hide();
     });*/
     //上传文件
    $.ajaxFileUpload({
      url:'upload.php',//处理图片脚本
      secureuri :false,
      fileElementId :'fileToUpload',//file控件id
      dataType : 'json',
      success : function (data, status){
        if(typeof(data.error) != 'undefined'){
          if(data.error != ''){
            alert(data.error);
          }else{
            alert(data.msg);
          }
        }
      },
      error: function(data, status, e){
        alert(e);
      }
  })
  return false;
   }) 
  })
  </script>
    <body>
      <input id="fileToUpload" type="file" size="20" name="fileToUpload" class="input">
      <button id="buttonUpload">上传</button>
    </body>
  </html>

上傳還可以傳遞參數:

 var data = { name: 'my name', description: 'short description' } 
    $.ajaxFileUpload({
      url: 'upload.php',
      secureuri: false,
      data: data,
      fileElementId: 'fileToUpload',
      dataType: 'json',
      success: function (data) {
        alert(data.msg);
      },
      error: function (data) {
        alert("error");
      }
    });

主要參數說明:

1、url表示處理檔案上傳操作的檔案路徑,可以測試URL是否能在瀏覽器中直接訪問,如上:upload. php
2、fileElementId表示文件域ID,如上:fileToUpload
3、secureuri是否啟用安全提交,預設為false
4、dataType數據數據,一般選json,javascript的原生態
5 、success提交成功後處理函數
6、error提交失敗處理函數

需要了解相關的錯誤提示

1、SyntaxError: missing ; before statement錯誤

如果出現這個錯誤就需要檢查url路徑是否可以存取

2,SyntaxError: syntax error錯誤

如果出現這個錯誤就需要檢查處理提交操作的PHP文件是否存在語法錯誤

3、SyntaxError: invalid property id錯誤

如果出現這個錯誤就需要檢查屬性ID是否存在

4、SyntaxError: missing } in XML expression錯誤

如果出現這個錯誤就需要檢查檔案網域名稱是否一致或不存在

5、其它自訂錯誤

大家可使用變數$error直接列印的方法檢查各參數是否正確,比起上面這些無效的錯誤提示還是方便很多。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

PHP長連結使用案例分析

#QQ、微信與支付寶三合一收款碼如何用PHP實作

#

以上是php+ajax無刷新檔案上傳實作步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn