国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

利用H5特性FormData實現不刷新文件上傳

2024-09-01 08:28:25
字體:
來源:轉載
供稿:網友

之前朋友說的不刷新上傳文件。最暴力的解決方案就是上網上搜各種JS庫,附帶多圖上傳,預覽,甚至是圖片處理等特技。那么如果不接觸第三方的庫,可不可以利用ajax來做。就這個問題,有人給出的解決方案是借助iframe,這里就不贅述了。但是Html5是個好東西,他提供了FormData,FormData可以幫助我們拼湊參數,乃至文件資源。這樣,我們就可以輕松用$.ajax不刷新上傳。當然也不需要iframe。

代碼

下列是前端部分。

<!DOCTYLE html><meta charset=utf-><head><script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/../jquery.min.js"></script></head><script type="text/javascript">$(function(){  $('#add').submit(function(){    var data = new FormData($('#add')[]);     console.log(data);    $.ajax({       url: 'ajax.php',       type: 'POST',       data: data,       dataType: 'JSON',       cache: false,       processData: false,       contentType: false,       success:function(data){         //alert(data);        alert("UploadFile Success");      }      });     return false;    });});</script><form id='add'><input type="text" name='book'></input><input type="file" name='source'></input><input type="submit"></form>

不多贅述里面的代碼,就講一行代碼

var data = new FormData($('#add')[0]);

FormData是一個表單對象,他可以將表單對象的表單域分別形成key=>value。那么是不是我們自己再拼接額外的key=>value呢,答案是可以的,詳情可以百度FormData。

還有就是為什么是$('#add')[0]?

我只能說 js = jQuery[0];

PHP部分

<?php   header('Content-Type:application/json; charset=utf-8');  echo json_encode(array($_FILES,$_REQUEST));?>

這邊只是做下測試,如果能看到$_FILES有東西,那么證明我們是可以做上傳的。

測試上傳

可以看到ajax請求到了ajax.php

 

看下preview,就可以看到返回$_FILES的相關信息了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 徐水县| 乌兰浩特市| 柳林县| 朝阳市| 仙游县| 彰武县| 苍南县| 拜城县| 开平市| 南投县| 辉南县| 滕州市| 宁蒗| 靖州| 商河县| 武夷山市| 双鸭山市| 阿鲁科尔沁旗| 息烽县| 石楼县| 锦州市| 陆河县| 兴仁县| 毕节市| 曲松县| 麦盖提县| 宁陕县| 金秀| 黔江区| 龙海市| 扶余县| 临汾市| 托克托县| 搜索| 惠州市| 邻水| 策勒县| 剑河县| 凤山县| 剑河县| 台湾省|