六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

HTML里FormData對象的詳細說明

[摘要]今天來給大家詳細的介紹一下FormData對象,下面從頭從頭開始創(chuàng)建一個FormData對象,然后通過append() 方法向?qū)ο笾刑砑渔I值,請看案例var formData = new FormData();formData.append("username", "...
今天來給大家詳細的介紹一下FormData對象,下面從頭從頭開始創(chuàng)建一個FormData對象,然后通過append() 方法向?qū)ο笾刑砑渔I值,請看案例

var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to a string "123456"
// HTML file input, chosen by user
formData.append("userfile", fileInputElement.files[0]);
// JavaScript file-like object
var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});
formData.append("webmasterfile", blob);
var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");

注意:字段”userfile” 和 “webmasterfile” 都包含文件(file)。被分配到字段”accountnum”上的數(shù)字直接被FormData.append()方法轉(zhuǎn)換成了字符串(字段的值(value)可能是一個Blob, File, 或一個string:如果值既不是Blob也不是File,則值會被轉(zhuǎn)換成一個string)。

這個例子創(chuàng)建了一個FormData實例,其中包含字段”username”, “accountnum”, “userfile” 和 “webmasterfile”,然后使用XMLHttpRequest對象的send()方法去發(fā)送表單數(shù)據(jù)。字段”webmasterfile”是一個Blob。一個Blob對象代表一個文件對象的原始數(shù)據(jù)。但是Blob代表的數(shù)據(jù)不必須是javascript原生格式的數(shù)據(jù)。文件接口是基于Blob,繼承Blob功能和擴大它對用戶文件系統(tǒng)的支持。為了構(gòu)建一個Blob可以調(diào)用Blob()構(gòu)造函數(shù)

從一個HTML表單獲得一個FormData對象

為了獲得一個包含已存在表單數(shù)據(jù)的FormData對象,在創(chuàng)建FormData對象的時候需要指定表單元素。

var formData = new FormData(someFormElement);

就像下面這樣:

var formElement = document.querySelector("form");
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
request.send(new FormData(formElement));

你也可以在獲得FormData對象之后增加另外的數(shù)據(jù),就像下面這樣:

var formElement = document.querySelector("form");
var formData = new FormData(formElement);
var request = new XMLHttpRequest();
request.open("POST", "submitform.php");
formData.append("serialnumber", serialNumber++);
request.send(formData);

這樣你可以在發(fā)送之前增加額外的信息,不一定是用戶編輯的。

三、使用FormData對象發(fā)送文件

你可以使用FormData發(fā)送文件。簡單的<form>中在包含一個<input>元素就可以:

<form enctype="multipart/form-data" method="post" name="fileinfo">
  <label>Your email address:</label>
  <input type="email" autocomplete="on" autofocus name="userid" placeholder="email" required size="32" maxlength="64" /><br />
  <label>Custom file label:</label>
  <input type="text" name="filelabel" size="12" maxlength="32" /><br />
  <label>File to stash:</label>
  <input type="file" name="file" required />
  <input type="submit" value="Stash the file!" />
</form>
<div></div>

然后你可以使用下面的代碼去發(fā)送:

var form = document.forms.namedItem("fileinfo");
form.addEventListener('submit', function(ev) {
  var oOutput = document.querySelector("div"),
      oData = new FormData(form);
  oData.append("CustomField", "This is some extra data");
  var oReq = new XMLHttpRequest();
  oReq.open("POST", "stash.php", true);
  oReq.onload = function(oEvent) {
    if (oReq.status == 200) {
      oOutput.innerHTML = "Uploaded!";
    } else {
      oOutput.innerHTML = "Error " + oReq.status + " occurred when trying to upload your file.<br \/>";
    }
  };
  oReq.send(oData);
  ev.preventDefault();
}, false);


你也可以直接向FormData對象中添加File或Blob,就像下面這樣:


data.append("myfile", myBlob, "filename.txt");

當使用append() 方法的時候,可能會使用到第三個參數(shù)去發(fā)送文件名稱(通過Content-Disposition頭發(fā)送到服務器)。如果沒有指定第三個參數(shù)或這個參數(shù)不被支持的話,第三個參數(shù)默認是”blob”。


如果你設置好正確的options,你也可以和jQuery配合起來使用:

var fd = new FormData(document.querySelector("form"));
fd.append("CustomField", "This is some extra data");
$.ajax({
  url: "stash.php",
  type: "POST",
  data: fd,
  processData: false,  // tell jQuery not to process the data
  contentType: false   // tell jQuery not to set contentType
});

相信看了這些案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)閱讀:

用Js操作HTTP的Cookie的實現(xiàn)步驟

Js操作BOM對象模型的詳細介紹

在HTML的網(wǎng)頁布局里div與span有什么區(qū)別

以上就是HTML里FormData對象的詳細介紹的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設是一個廣義的術(shù)語,涵蓋了許多不同的技能和學科中所使用的生產(chǎn)和維護的網(wǎng)站。




主站蜘蛛池模板: 我要看黄色一级片 | 影音色资源 | 色久综合网 | 速度与激情9完整版免费观看 | 青娱乐综合 | 伊人中文字幕在线观看 | 亚洲欧美日韩国产精品影院 | 视频日韩p影院永久免费 | 日韩一区二区中文字幕 | 全国男人的天堂网 | 四虎永久在线精品视频免费观看 | 日韩欧美视频在线一区二区 | 庆余年第二部在线观看免费完整版 | 亚洲精品国产福利在线观看 | 亚洲国产欧洲精品路线久久 | 青青草国产精品久久久久 | 伊人网免费视频 | 在线bt天堂网www在线下载 | 天天做天天爱夜夜爽毛片毛片 | 欧美视频在线免费看 | 日韩成人在线影院 | 亚洲欧美91 | 亚洲精品午夜 | 人人插人人插 | 亚洲第一黄网站 | 日本精品久久久久护士 | 亚洲黄色在线网站 | 三级成人影院 | 欧美视频一区在线 | 日韩一区二三区无 | 亚洲免费网站 | 日本免费黄色网址 | 青草青视频 | 四虎在线视频免费观看视频 | 午夜色站 | 日韩中文字幕视频 | 日韩手机在线观看 | 日本高清一本视频 | 日韩亚洲国产综合久久久 | 亚洲欧美综合一区二区三区四区 | 天天色天天综合网 |