使用Ajax提交表单和字符串

时间:2016-06-28 15:54:12

标签: javascript php jquery ajax

如何使用Ajax提交表单和字符串
我尝试了这个,但没有工作,因为我无法在PHP页面中获得$_POST['foo'])

$(document).ready(function() { 
  $('#togreenform').submit(function(e) { 
    e.preventDefault(); 
    $.ajax({
      type: 'POST', 
      url: 'operations.php?r=togreen', 
      data: { $(this).serialize(), 
        'foo': 'bar'}, 
      success: function(msg) { 
        alert(JSON.parse(msg)); 
      }, 
      error: function() { 
        //alert('failure'); 
      } 
    }) 
    return false; // prevent form from submitting 
  }); 
});

2 个答案:

答案 0 :(得分:2)

您的数据属性应如下所示:

data : {
    foo: 'bar',
    otherprop: 'foo'
};

data : $(this).serialize()+"&foo=bar"

serialize函数创建一个字符串,以标准的URL编码表示法创建一个文本字符串。

您的代码生成了无效对象,因为您没有为第一个键(即文本字符串)提供值。

答案 1 :(得分:1)

这是一个无效的对象:

{
  $(this).serialize(),
  'foo': 'bar'
}

第一个属性没有给出名称。你可以给它一个:

{
  'form': $(this).serialize(),
  'foo': 'bar'
}