Javascript 推送新变量值以形成序列化
我有一个登录表单,其中设置了用户名和密码。在登录按钮被调用时,javascript函数被调用,我向登录控制器发出ajax请求。表单是使用以下代码序列化的Javascript 推送新变量值以形成序列化,javascript,jquery,Javascript,Jquery,我有一个登录表单,其中设置了用户名和密码。在登录按钮被调用时,javascript函数被调用,我向登录控制器发出ajax请求。表单是使用以下代码序列化的 var parameters = this.login_form.serialize(true); 我想在表单中推一个新变量,然后尝试 var parameters = this.login_form.serializeArray(true); parameters.push({ name: "mysql", value: "update"
var parameters = this.login_form.serialize(true);
我想在表单中推一个新变量,然后尝试
var parameters = this.login_form.serializeArray(true);
parameters.push({ name: "mysql", value: "update" });
// remaining code to make ajax request
它抛出如下所示的错误
TypeError:this.login\u form.serializeArray不是函数
如何推送新的变量值?serializeArray()
是一个jQuery方法,但是这是一个DOM元素。您需要调用jQuery
进行转换:
var parameters = $(this.login_form).serializeArray();
您的代码不完整。登录表单来自哪里?这是怎么一回事?还有,请尝试更清楚地说明你的意思。你能在html“mysql”中添加隐藏字段,并将其值设置为“update”,然后序列化表单吗?你能eval(“(“+parameters+”)”)
在对象表单上添加额外参数,然后重新序列化它吗?答案应该比这更完整。至少你应该指出具体的问题,解决问题的方法,以及原因。
**go with this **
var parameters = $("form").serializeArray();
parameters.push({ name: "mysql", value: "update" });