jQuery POST默认帖子字段

时间:2014-10-13 11:54:52

标签: php jquery post

我知道我们可以在jQuery中为POST请求添加一些默认选项(设置),但我的问题如下:我可以为POST添加一个带值的默认字段,以便随每个帖子一起发送请求吗

例如:如果我有:?name=John&age=20并且我使用$.post()方法发送它们,我希望PHP将其接收为:?name=John&age=20&defaultField1=defaultValue1

PS:我知道我可以使用append()或类似的方法将字段添加到表单中,或者直接添加到.serialize()之前的数据数组中,但如果我能够使用它会更好将其添加为默认选项。 (我需要的字段是请求令牌,因此如果未设置此密钥,PHP将不会处理数据)

2 个答案:

答案 0 :(得分:2)

最干净的选择是将所有对$.post的调用包装在内部函数中,该函数在实际调用$.post之前附加此参数。

如果您想发送帖子请求,请致电custom_post_function,这会自动附加您的默认参数。

这是一些超级(过度)简化的伪代码来演示:

function custom_post_function( parameters ){
  // manipulate your parameters before the actual call to $.post
  parameters += "some_special_suff";
  $.post( parameters );
}

答案 1 :(得分:0)

对于所有请求,可以使用ajaxSetup使用固定的自定义标头(然后读取它来处理请求)或使用beforeSend功能。

$.ajaxSetup({
    headers: { 'x-my-custom-header': 'yourdefaultvalue' }
}); 

或使用beforeSend(如果需要,您也可以将此用于个别请求):

$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('x-my-custom-header', 'yourdefaultvalue');
    }
});