jQuery 之serializeArray() 、serialize() 方法



serializeArray()
方法序列化表单元素,返回 JSON 数据结构数据。

$(selector).serializeArray()

注意:此方法返回的是 JSON 对象而非 JSON 字符串。

返回的 JSON 对象是由一个对象数组组成的,其中每个对象包含一个或两个名值对 —— name 参数和 value 参数(如果 value 不为空的话)。举例来说:

[ 
  {name: 'firstname', value: 'Hello'}, 
  {name: 'lastname', value: 'World'},
  {name: 'alias'}, // 值为空
]

serialize() 方法通过序列化表单值,创建 URL 编码文本字符串。

$(selector).serialize()

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

$("form").serialize()); -->FirstName=Bill&LastName=Gates

param() 方法创建数组或对象的序列化表示。该序列化值可在进行 AJAX 请求时在 URL 查询字符串中使用。

jQuery.param(object,traditional)

traditional:规定是否使用传统的方式浅层进行序列化(参数序列化)。

var arr = $('#addForm').serializeArray();

$.param(arr);

--> "uname=alice&mobileIpt=110&birthday=1983-05-12"

        var _list = [];

        for (var i = 0; i < checkedRow.length; i++) {
            _list[i] = checkedRow[i].ID;
        }

        $.ajax({
            url: '@Url.Action("SetCallBackStatus")',
            data: { "selectedIDs": _list },
            dataType: "json",
            type: "POST",
            traditional: true,
            success: function (responseJSON) {
                // your logic
                alert('Ok');
            }
        });

 traditional:true   将 _list参数转换一下$.param(_list,true)。这里其实就是将_list作为传统的方式传递给后台。

        var _list = {};

        for (var i = 0; i < checkedRow.length; i++) {
            _list["selectedIDs[" + i + "]"] = checkedRow[i].ID;
        }

        $.ajax({
            url: '@Url.Action("SetCallBackStatus")',
     
            data: _list,
            dataType: "json",
            type: "POST",
            success: function (responseJSON) {
                // your logic
                alert('Ok');
            }
        });


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值