2011-08-24 61 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,