Php jQuery POST默认POST字段
我知道我们可以在jQuery中为POST请求添加一些默认选项(设置),但我的问题如下:我可以为POST添加一个带值的默认字段,以便在每次POST请求时发送它吗? 例如:如果我有:Php jQuery POST默认POST字段,php,jquery,post,Php,Jquery,Post,我知道我们可以在jQuery中为POST请求添加一些默认选项(设置),但我的问题如下:我可以为POST添加一个带值的默认字段,以便在每次POST请求时发送它吗? 例如:如果我有:?name=John&age=20并且我使用$.post()方法发送它们,我希望PHP以:?name=John&age=20&defaultField1=defaultValue1 注:我知道我可以使用append()或类似的方法将字段添加到表单中,或者直接添加到.serialize()之前的数据数组中,但是如果我能够将
?name=John&age=20
并且我使用$.post()
方法发送它们,我希望PHP以:?name=John&age=20&defaultField1=defaultValue1
注:我知道我可以使用
append()
或类似的方法将字段添加到表单中,或者直接添加到.serialize()
之前的数据数组中,但是如果我能够将其作为默认选项添加,那会更好。(我需要的字段将是请求令牌,因此如果未设置此键,PHP将不会处理数据)最干净的选项是将对$.post的所有调用包装在一个内部函数中,该函数在实际调用$.post
之前附加此参数
任何时候你想要发送一个post请求,调用你的自定义的\u post\u函数
,它会自动附加你的默认参数
下面是一些超级(过度)简化的伪代码来演示:
function custom_post_function( parameters ){
// manipulate your parameters before the actual call to $.post
parameters += "some_special_suff";
$.post( parameters );
}
可能正在使用固定的自定义标头(然后读取它以处理请求或不处理请求)和for all request或use函数
$.ajaxSetup({
headers: { 'x-my-custom-header': 'yourdefaultvalue' }
});
或者使用beforeSend(如果需要,您也可以将其用于个人请求):
当php最初构建页面时,将name=value填充到一个隐藏的表单字段中?OP,即使可以将其设置为全局jQuery默认值(可能是),Lix的包装函数解决方案仍然更可取。事实上,在设置任何jQuery.ajax默认值/$.ajaxSetup
/等之前,我会非常仔细地考虑。否则,有一天,当您遇到需要在没有额外参数的情况下发出POST请求(可能是向外部资源)时,或者您想将jQuery换成另一个XHR库时,您会非常头疼。。。
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'yourdefaultvalue');
}
});