如何通过JQuery AJAX调用从客户端发送HTTP头到PHP脚本?

时间:2015-11-13 15:37:38

标签: php jquery ajax http mobile-website

我在服务器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

非常感谢。

1 个答案:

答案 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