JavaScript表单提交
Form表单的提交行为需要通过type=submit实现,form中的method属性不定时时,form默认的提交方式为get请求,form表单的提交后台会有默认行为,会跳转刷新到action的页面,form表单的提交方式,请求头默认的content-type为x-www-form-urlencoded
当一个form表单内部,所有的input中只有一个type=text时,enter键会有默认的提交行为。
阻止新页面的跳转,Form表单的提交会伴随着跳转到action中指定的url链接,为了阻止这种行为,可以通过设置一个隐藏的iframe页面,并将form的target属性指向这个iframe,当前页面iframe则不会刷新页面。
脚本触发form表单的提交行为,js事件触发表单提交,通过button、链接等触发事件,js调用submit()方法提交表单数据,jquery通过submit()方法。
var btn =
document.getElementById(“btn”)
var jsForm =
document.getElementById(“jsForm”)
btn.onclick = function () {
jsForm.submit()
}
$(’#jqbtn’).click(function () {
$(’#jqueryForm’).submit(function () {
console.log(‘submit success’)
return false;
})
})
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求: 1.无法使用缓存文件(更新服务器上的文件或数据库)2.向服务器发送大量数据(POST 没有数据量限制)3.发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠.
get/post区别: 1.GET方法是用来向服务器上获取数据,而PSOT是用来向服务器上传递修改数据。2.GET将表单里的数据添加到action所指向的URL后面,并且两者之间使用”?”连接而各个变量之间使用"&"连接;PSOT是将表单中的数据放在form的数据体(FormData)中,按照键值对的方式,传递到所指向的action 3.GET是不安全的,因为在传输过程中,数据被放在请求的url中这样用户可以直接在浏览器上看到提交的数据, POST的所有操作对用户来说都是不可见的,数据都在数据体(FormData)中4.GET方法向URL添加数据,URL的长度是受限制的(URL的最大长度是2048个字符),POST提交无限制5.GET为form表单的默认提交方式6.GET方式获取数据后,刷新不会有负面的影响,因为它只是获取数据, POST数据会被重新提交可能会产生不良的后果(浏览器应该告知用户数据会被重新提交) 7.数据类型的限制:GET只允许ASCII字符,POST则无限制(如果提交二进制数据(例如:图片),需要使用POST方法)