jQuery有以下扩展方法来序列化名为jquery.extension.js
:的Json
jQuery.fn.extend({
serializeJSON: function () {
return this.serializeArray().reduce(function (result, item) {
result[item.name] = item.value;
return result;
}, {});
}
});
我的布局上有这些参考:
<script src="~/Content/Script/jquery.extensions.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-1.8.0.js" type="text/javascript"></script>
在我看来,我称这种方法为:
function createList(e) {
var form = $(this),
dataJSON = serializeJSON(form),
$saveBtn = $('#create-list-btn');
但我得到了错误:
ReferenceError: serializeJSON is not defined
有人能帮我弄清楚这里缺了什么吗?
我自己发现了这个问题,在视图中使用它的正确方法是:
dataJSON = $(form).serializeJSON()
而不是:
dataJSON = serializeJSON(form)