我在服务器mobiledetect.net上使用设备检测PHP脚本,通常用户的浏览器会直接调用服务器上的那个,因此显然检测脚本会获取所有HTTP头(它直接用于设备检测。
如果我通过用户浏览器上运行的javascript调用JQuery AJAX调用相同的服务器端PHP检测脚本,它是否会收到检测所需的所有HTTP头,就像直接方法一样?即,JQuery是否允许或设置脚本上的AJAX调用的所有HTTP头,就像浏览器一样?
如果没有,我将如何实现这一目标?
检测脚本所需的标头是:HTTP_ACCEPT,HTTP_X_WAP_PROFILE,HTTP_X_WAP_CLIENTID,HTTP_WAP_CONNECTION,HTTP_PROFILE,HTTP_X_OPERAMINI_PHONE_UA,HTTP_X_NOKIA_GATEWAY_ID,HTTP_X_ORANGE_ID,HTTP_X_VODAFONE_3GPDPCONTEXT,HTTP_X_HUAWEI_USERID,HTTP_UA_OS, HTTP_X_MOBILE_GATEWAY,HTTP_X_ATT_DEVICEID,HTTP_UA_CPU
非常感谢。
答案 0 :(得分:1)
是的,您可以在ajax调用中设置HTTP标头:
.jrxml
请在此处找到更多信息:Add Header in AJAX Request with jQuery。 要获取HTTP标头的值,请使用以下代码:
$.ajax({
url: 'YourRestEndPoint',
headers: {
'header1':'xxxxxxxxxxxxx',
'herader2':'xxxxxxxxxxxxxxxxxxxx',
'Content-Type':'application/json'
},
method: 'POST',
dataType: 'json',
data: YourData,
success: function(data){
console.log('succes: '+data);
}
});
更多信息here