使用其他变量发布Ajax数据

时间:2015-05-26 04:12:55

标签: jquery ajax

我在使用jquery脚本发送序列化表单数据以及修改后的变量时遇到了问题。我尝试了几种不同的方法,但添加的变量没有发布。

我尝试了一些方法,我认为最好使用jquery.param(),但是,它没有传递变量消息。

// Code the input (message)
            var message = $('textarea[name="content"]').html($('#emailbody').code());


                // Submit the form using AJAX.
                $.ajax({
                    type: 'POST',
                    url: 'mailer.php',
                    data: $(form).serialize()+$.param(message),
                })

我猜我传递变量的语法不正确。有什么提示吗?

谢谢你, 佰

5 个答案:

答案 0 :(得分:3)

如果名称为content的textarea在表单内,则只需设置其值并序列化表单

$('textarea[name="content"]').val($('#emailbody').code());
// Submit the form using AJAX.
$.ajax({
    type: 'POST',
    url: 'mailer.php',
    data: $(form).serialize(),
})

否则你可以尝试

// Submit the form using AJAX.
$.ajax({
    type: 'POST',
    url: 'mailer.php',
    data: $(form).serialize() + '&content=' + encodeURIComponent($('#emailbody').code()),
})

答案 1 :(得分:0)

你可以尝试:

data : $(form).serialize() +  '&' + $.param(message)

答案 2 :(得分:0)

尝试:

data :{'form': $('#form').serialize(),'content':$('#emailbody').code()}

答案 3 :(得分:0)

您的问题应该有一个简单的解决方案,如下所示:

  1. 在元素中有一个隐藏字段。 2.在发布表单之前,将变量值分配给隐藏字段,如下所示:

    $( '#HiddenFieldIdHere')VAL(variablevalue);

  2. 然后像你一样进行ajax调用而不附加变量值。

答案 4 :(得分:0)

var message = $('#form_id').serialize();

$。AJAX({             url:" mailer.php",             键入:' POST',             数据:消息,             成功:函数(数据){               $("#form_result&#34)。HTML(数据);             }     });