2015-11-13 10 views
0

Я использую PHP-скрипт обнаружения устройства на сервере mobiledetect.net, и обычно браузер пользователя будет делать прямой вызов на сервере, и, очевидно, скрипт обнаружения получит все HTTP-заголовки (которые он использует для обнаружения устройств) прямо так.Как отправить HTTP-заголовки из клиента через JQuery AJAX-вызов скрипта PHP?

Если я вызываю тот же скрипт обнаружения PHP на стороне сервера через вызов JQuery AJAX из моего javascript, запущенного в браузере пользователя, получает ли он все HTTP-заголовки, необходимые для обнаружения, как это было бы с прямым методом? то есть JQuery разрешает или устанавливает все заголовки HTTP для вызова AJAX в скрипте, поскольку браузер будет напрямую?

Если нет, как бы я этого достиг, пожалуйста?

Headers сценарий обнаружения требуется являются: 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

Да, вы можете установить заголовки 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); 
    } 
    }); 

Вы можете найти более подробную информацию здесь: Add Header in AJAX Request with jQuery. Чтобы получить значение заголовков HTTP, используйте следующий код:

var req = new XMLHttpRequest(); 
req.open('GET', document.location, false); 
req.send(null); 
var headers = req.getAllResponseHeaders().toLowerCase(); 
alert(headers); 

here Больше информации

+0

ОК спасибо, но я не хочу, чтобы установить пользовательские заголовки себя, я хочу, чтобы пройти через заголовки упомянутый выше, что браузер установит прямой запрос страницы. Как я могу ссылаться на них в JQuery, чтобы передать их так, как вы описываете? Благодаря! –