如何使用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
});
});
答案 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'
}