我知道我们可以在jQuery中为POST请求添加一些默认选项(设置),但我的问题如下:我可以为POST添加一个带值的默认字段,以便随每个帖子一起发送请求吗
例如:如果我有:?name=John&age=20
并且我使用$.post()
方法发送它们,我希望PHP将其接收为:?name=John&age=20&defaultField1=defaultValue1
PS:我知道我可以使用append()
或类似的方法将字段添加到表单中,或者直接添加到.serialize()
之前的数据数组中,但如果我能够使用它会更好将其添加为默认选项。 (我需要的字段是请求令牌,因此如果未设置此密钥,PHP将不会处理数据)
答案 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');
}
});