2015-06-30 39 views
1

我在$_POST阵列中遇到一些问题'merging'某些元素。 我目前使用AJAX为了交换一个div的元素,当一个按钮被点击时,但我也有一个内部的形式,其值被覆盖的ajax事情。 (对不起,穷人的解释,我是初学者!)

所以我有这样的jQuery代码:

$.post(url.concat("/profileajax.php"), { 
    contentVar: cv 
}, function(data) { 
    $("#myDiv").html(data).show(); 
}) 

但是因为这段代码的我$_POST阵列只包含contentVar元素。我想要做的是使功能保持当前的$_POST元素,并在其后添加contentVar元素。

$.post(url.concat("/profileajax.php"), { /*Insert values gotten from the form here */ , contentVar: cv 
}, function(data) { 
    $("#myDiv").html(data).show(); 
}) 
+3

可能比较容易,如果你简单地增加你的'contentVar'作为隐藏字段的形式,然后序列化整表单用作AJAX请求中的数据对象。 – CBroe

回答

0

使用$.serializeArray

$('#myForm').on('submit', function (event) { 
    event.preventDefault(); 

    var data = $('#myForm').serializeArray(); 

    var cv = "cvdata"; 

    data.push({name: 'contentVar', value: cv}); 

    var url = "http://example.com"; 

    $.ajax({ 
     type: "POST", 
     url: url.concat("/profileajax.php"), 
     data: data, 
     success: function (data) { 
      $("#myDiv").html(data).show(); 
     } 
    }); 
}); 

https://jsfiddle.net/p86qzup3/3/