2011-08-24 59 views
0

如何使這項工作?我正在嘗試做AJAX帖子。我用來做.serialize,但我想添加兩個更多的值和鍵到數組。我怎麼能輕鬆做到這一點?ajax並在jquery中添加serializearray

 $('#moreprojects').click(function(){ 
      var skip = $(this).attr('name'); 
      var more = $(this).attr('rel'); 
      var param = $('#companies').serializeArray(); 
      param.push({name: 'skip', value: skip}) 
      param.push({name: 'more', value: more}) 
      $.post('projectsmore.php', {param}, function(response){ 
       $('#projects tbody').append(response); 
      }) 
     }) 
+0

查看答覆@ http://stackoverflow.com/questions/4449695/adding-push-values-to-ajax- post-in-jquery-serialize-or-serializearray –

回答

1

您添加值的方式應該沒問題。但是,你要$.post調用應該是:

$.post('projectsmore.php', param, function(... 

(無{}周圍param)。

+0

我試過alert(param),它只是返回對象Object對象Object等,它不能和php一起工作。 –

+0

請向我們展示您的php。 –

+0

*我試過alert(param),它只是返回對象Object對象Object *:這是可以預料的,因爲你有一個* objects *數組。當你使用'alert'時,參數被轉換爲一個字符串,並且一個對象的默認字符串表示是'[object Object]'。 'alert'不是用於調試**,而是使用'console.log'。 JS本身是正確的。也許錯誤在你的PHP腳本中。 –

0

由於您將參數變量注入到$ .post中,您遇到問題。因爲變量參數已經是一個對象,所以你不需要用括號來包裝它。

所以不是:

$.post('projectsmore.php', {param}, 

它應該是:

$.post('projectsmore.php', param,