在前端有时间需要传整个form,但是呢?会遇到一些问题:
1、前端获取的值中文是正常的,但是后端接收的时候,获取的中文确实乱码问题。解决如下:
decodeURIComponent($("form").serialize())---解码作用
serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。
您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身。序列化的值可
在生成 AJAX 请求时用于 URL 查询字符串中,这样在ajax提交表单数据时,就不用一一列举每一
个参数,只需将data参数设置为:$("form").serialize()即可。也可以使用form的id进行获取其值。
2、除了需要传整个form表单的值外,还需要额外的几个参数,怎么传值呢?
decodeURIComponent(form.serialize())+"&url="+url_bzds+"&filename="+filename,
decodeURIComponentz是专门处理中文乱码,这是解码作用。
3、还会碰到serializeArray() 方法。--------通过序列化表单值来创建对象数组(名称和值)。
可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身。
此方法返回的是 JSON 对象而非 JSON 字符串。
4、遇到js中创建数组:(后端传过来的数组,前端是无法接收,前端只能解析字符串,然后对字符串进行分割成数组元素)