2015-06-30 60 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/