Javascript 如何在ajax上通过表单序列化数据传递附加数据?
如何在ajax post方法上通过表单序列化数据传递附加数据 下面是我在ajax帖子中使用的代码Javascript 如何在ajax上通过表单序列化数据传递附加数据?,javascript,jquery,ajax,Javascript,Jquery,Ajax,如何在ajax post方法上通过表单序列化数据传递附加数据 下面是我在ajax帖子中使用的代码 $(document).ready(function() { var additional_data=$("#extra_data").val(); $.ajax({ type: 'POST', url: 'send_mail.php', data: frm.serialize(), suc
$(document).ready(function()
{
var additional_data=$("#extra_data").val();
$.ajax({
type: 'POST',
url: 'send_mail.php',
data: frm.serialize(),
success: function (data) {
alert(data);
}
});
});
在这里,如何使用
序列化表单数据传递附加的\u数据,您需要将元素推送到现有的序列化数据
var frmData = frm.serialize();
frmData.push({name: nameofthevariable, value: valueofthevariable});
frmData.push({name: nameofthevariable2, value: valueofthevariable2});
frmData.push({name: nameofthevariable3, value: valueofthevariable3});
$(document).ready(function()
{
var additional_data=$("#extra_data").val();
$.ajax({
type: 'POST',
url: 'send_mail.php',
data: frmData,
success: function (data) {
alert(data);
}
});
});
serialize()
创建表单的查询字符串。因此,您可以在其中附加其他参数
$(document).ready(function()
{
var additional_data=$("#extra_data").val();
$.ajax({
type: 'POST',
url: 'send_mail.php',
data: frm.serialize()+'¶m1='+value1+'¶m2='+value2,
success: function (data) {
alert(data);
}
});
});
来自jQueryAPI文档
The .serializeArray() method creates a JavaScript array of objects
The .serialize() method creates a text string in standard URL-encoded notation.
我认为要使用push
,我们需要使用serializeArray
尝试使用
var frmData = frm.serializeArray();
frmData.push({name: "name", value: "test"});
$(document).ready(function()
{
var additional_data=$("#extra_data").val();
$.ajax({
type: 'POST',
url: 'send_mail.php',
data: frmData,
success: function (data) {
alert(data);
}
});
});
serializearray()可用于发送其他参数。用于发送附加参数的PFB代码
var request = $('form').serializeArray();
request.push({name: "kindOf", value: "save"});
Ajax调用
$.ajax({
url: "/ST/SubmitRequest",
dataType: "json",
//contentType: "application/json",
type: "POST",
data: request,
//data: r1,
success: function (response) {
//Setinterval();
//alert("Done...!");
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
您好,我使用了您的代码,但它抛出了错误ReferenceError:id\u数组未定义
我的代码是var frmData=frm.serialize();push({name:id\u数组,value:extra\u data})
应该是frmData.push({name:'id_array',value:extra_data});观察id_数组周围的单引号。出现此错误TypeError:frmData.push不是一个函数
它应该可以工作。请看这里的答案:@AshokSri很乐意帮忙:)