国产探花免费观看_亚洲丰满少妇自慰呻吟_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的相關信息了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇安县| 那坡县| 河间市| 天镇县| 肇东市| 保康县| 黄石市| 永吉县| 高平市| 泽普县| 仁布县| 常山县| 克拉玛依市| 虹口区| 山东省| 类乌齐县| 东辽县| 海盐县| 清水县| 阿拉善盟| 铜山县| 平潭县| 章丘市| 长海县| 盖州市| 积石山| 宝坻区| 体育| 马关县| 含山县| 南华县| 邹城市| 沁阳市| 金平| 莱阳市| 虞城县| 新田县| 郑州市| 洪湖市| 深州市| 迭部县|