类型错误:序列化表单时,未定义不是函数
TypeError: undefined is not a function when serializing a form
我是js的新手,正在尝试以形式序列化值以使其准备好提交到ajax中。
在我的浏览器中,我收到此错误,但不确定原因:
$('#myform').serializeObject()
Uncaught TypeError: undefined is not a function
这是我正在运行的代码:
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
$(document).ready(function () {
console.log("Hello there! How are you?");
mydata = JSON.stringify($('#myform').serializeObject());
console.log(mydata);
});
这是我创建的jsfiddle,以使其更容易。我认为问题可能出在serializeObject
,但调试器甚至没有达到这一点。
更新
虽然我纠正了这个错别字(在我创建帖子时出现),但我得到了同样的错误。我试过这是火狐,我得到了TypeError: $(...).serializeObject is not a function
.奇怪的是,它在jsfiddle上工作正常。
你可以使用 JQuery 的 $.serialize() 函数。
$(document).ready(function () {
console.log("Hello there! How are you?");
mydata = JSON.stringify($('#myform').serialize());
console.log(mydata);
});
我会简单地使用jQuery的内置方法:
序列化:http://api.jquery.com/serialize/
或
参数:http://api.jquery.com/jquery.param/
或者你在那里做什么特别定制的事情?
你有一个错别字或错误,你直接在jQuery对象上使用JSON.stringify
,而不是在结果上使用.serializeObject()
以前:
JSON.stringify($('#myform')).serializeObject());
后:
mydata = JSON.stringify($('#myform').serializeObject());
更新的演示:http://jsfiddle.net/gz3Lbkcj/1/
好吧,这就像重新发明轮子,但请尝试替换以下语句:
mydata = JSON.stringify($('#myform')).serializeObject());
跟
mydata = JSON.stringify($('#myform').serializeObject());
因为stringify
将返回对象的字符串表示形式,您将无法对其调用serializeObject
。
我的问题是我在加载 jquery 之前一直在调用我的脚本,因此我收到该错误消息。咄。我很尴尬,但想发布这个以防万一它可以使某人受益。
相关文章:
- Jquery未定义函数正在停止其他操作
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- jQuery文件上传和验证未定义函数
- 引用错误:未定义函数-Firefox
- res.render中出错,未定义函数
- 神秘的未定义函数
- 尝试使用函数和Ajax修改值时未定义函数
- 引用错误:未定义函数
- ReferenceError:未定义函数
- 在 Angular JS 中使用 ng-include 的未定义函数
- 未捕获的引用错误:未定义函数
- j查询工具提示引发错误:未定义函数
- 未捕获的引用错误: 未定义单击世界 -- 未定义函数
- JS:引用错误:未定义函数
- 茉莉花未定义函数
- Javascript 错误:未捕获的引用错误:未定义 [函数]
- 未定义函数
- 尽管 js 文件引用在标头中,但未定义函数
- Javascript 未定义函数错误