繁体   English   中英

如何在ajax上传递带有表单序列化数据的附加数据?

[英]how to pass a additional data with form serialized data on ajax?

如何在ajax post方法上传递带有表单序列化数据的附加数据?

下面是我用于ajax帖子的代码,

   $(document).ready(function()
     {
       var additional_data=$("#extra_data").val();
        $.ajax({
        type: 'POST',
        url: 'send_mail.php',
        data: frm.serialize(),
        success: function (data) {
            alert(data);
        }
    });
    });

这里,如何传递带serialize表单数据的additional_data

您需要将元素推送到现有的序列化数据。

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);
        }
    });
    });

来自jQuery API DOCS

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);
        }
    });
    });

serialize()创建表单的查询字符串。 所以你可以在其中添加其他参数。

$(document).ready(function()
     {
       var additional_data=$("#extra_data").val();
        $.ajax({
        type: 'POST',
        url: 'send_mail.php',
        data: frm.serialize()+'&param1='+value1+'&param2='+value2,
        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);
                    }
                }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM