使用HTML5 FormData接口更轻松的AJAX
>对单页应用程序和进行性增强至关重要。 让我们检查一个典型的形式:
<form id="myform" action="webservice.php" method="post"> <input type="email" name="email" /> <select name="job"> <option value="">Select Role</option> <option>web developer</option> <option>IT professional</option> <option>other</option> </select> <input type="checkbox" name="freelancer" /> are you a freelancer? <input type="radio" name="experience" value="4" /> less than 5 year's experience <input type="radio" name="experience" value="5" /> 5 or more year's experience <textarea name="comments" rows="3" cols="60"></textarea> <input type="submit" value="Submit"> </form>
jQuery简化了AJAX的数据序列化形式:
>$("#myform").on("submit", function(e) { e.preventDefault(); $.post(this.action, $(this).serialize()); });
>普通的JavaScript需要手动数据提取:
document.getElementById("myform").onsubmit = function(e) { e.preventDefault(); var f = e.target, formData = '', xhr = new XMLHttpRequest(); for (var i = 0, d, v; i < f.elements.length; i++) { d = f.elements[i]; if (d.name && d.value) { v = (d.type == "checkbox" || d.type == "radio" ? (d.checked ? d.value : '') : d.value); if (v) formData += d.name + "=" + escape(v) + "&"; } } xhr.open("POST", f.action); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); xhr.send(formData); };
接口显着简化了此过程:FormData
document.getElementById("myform").onsubmit = function(e) { e.preventDefault(); var f = e.target, formData = new FormData(f), xhr = new XMLHttpRequest(); xhr.open("POST", f.action); xhr.send(formData); };
,启用文件上传。 您也可以手动附加数据:FormData
multipart/form-data
var formData = new FormData(); formData.append("name", "value"); formData.append("a", 1); formData.append("b", 2);
参考文档和MDN文档。FormData
>
FormData
关于HTML5 FormData接口和AJAX
html5 formdata接口是什么,它如何与ajax一起使用?
> html5
接口简化了创建代表AJAX请求形式数据的键值对。 AJAX可以通过服务器启用异步数据交换,更新没有完整重新加载的网页。
FormData
如何创建一个formdata对象?
>使用
对于空对象或从表单元素创建一个。new FormData()
>
new FormData(formElement)
>如何将数据附加到formdata对象?
使用
>方法。>
append(name, value)
>如何使用AJAX请求发送FormData对象?
。
标头自动设置为>。
xhr.send(formData)
我可以使用JQuery的Ajax方法使用FormData接口?
Content-Type
是的,但是设置multipart/form-data
和
。
>如何检查浏览器是否支持FormData接口?>
processData: false
使用contentType: false
。
>我可以使用FormData接口发送文件吗?
是的,附加if ("FormData" in window) { ... }
或
>
我可以从formdata对象删除数据吗?
File
是的,使用Blob
>方法。
>我可以在formdata对象中迭代数据吗?
>是的,使用delete(name)
,
或
。>我可以使用fetch的formdata接口?entries()
keys()
是的,将其作为values()
>请求的forEach()
>传递。
以上是使用HTML5 FormData接口更轻松的AJAX的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

本文说明了如何使用源地图通过将其映射回原始代码来调试JAVASCRIPT。它讨论了启用源地图,设置断点以及使用Chrome DevTools和WebPack之类的工具。

如何在JavaScript中将具有相同ID的数组元素合并到一个对象中?在处理数据时,我们常常会遇到需要将具有相同ID�...

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...
