博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
serialize提交form数据
阅读量:5913 次
发布时间:2019-06-19

本文共 1206 字,大约阅读时间需要 4 分钟。

hot3.png

serialize() 方法通过序列化表单值,创建 URL 编码文本字符串,可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身,序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。

$(selector).serialize()

可以把序列化的值传给ajax()作为url的参数,轻松使用ajax()提交form表单了,而不需要一个一个获取表单中的值然后传给ajax(),举例如下:

一个不好的示例:

//jquery代码$.ajax({    url: 'my url',    dataType: "json",    type: "post",    data: {        name: $([name="_name"]).val(),        info: $([name="_info"]).val(),    },    success: function(data) {        // your code    }});

正确的方式:

$.ajax({    url: 'my url',    dataType: "json",    type: "post",    data: $("form").serialize(),    success: function(data) {        // your code    }});

详细说明

.serialize() 方法创建以标准 URL 编码表示的文本字符串。它的操作对象是代表表单元素集合的 jQuery 对象。

表单元素有几种类型:

.serialize() 方法可以操作已选取个别表单元素的 jQuery 对象,比如 <input>, <textarea> 以及 <select>。不过,选择 <form> 标签本身进行序列化一般更容易些:

$('form').submit(function() {  alert($(this).serialize());  return false;});

输出标准的查询字符串:

a=1&b=2&c=3&d=4&e=5

注释:只会将”成功的控件“序列化为字符串。如果不使用按钮来提交表单,则不对提交按钮的值序列化。如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性。

转载于:https://my.oschina.net/u/3152390/blog/849541

你可能感兴趣的文章
RestTemplate设置通用header
查看>>
TRex 学习(2) ---- stateful (basic)
查看>>
[高并发Java 二] 多线程基础
查看>>
PHP源码目录结构
查看>>
Linux桌面虚拟化技术KVM介绍及其安装
查看>>
硬盘主引导记录详解
查看>>
2017-12-19 Linux学习笔记
查看>>
用户与用户组管理
查看>>
CentOS 6.8 手工安装 Firefox
查看>>
【栈】POJ 1028 Web Navigation
查看>>
[文摘]JDK里的设计模式
查看>>
jQuery节点操作
查看>>
初学大数据需要了解哪些方面的知识?
查看>>
能量山水画家武湲承:搬运时空能量,聚藏山水画中
查看>>
谈一次异步上传到又拍云的案例教程
查看>>
【Ubuntu】IBM资料学习笔记
查看>>
C#接收命令行参数的代码
查看>>
xcode svn的操作(1)
查看>>
判断ip的有效性---boost
查看>>
android activity之间传递对象
查看>>