Передать заголовки запроса в вызове jQuery AJAX GET - PullRequest
222 голосов
/ 15 июля 2010

Я пытаюсь передать заголовки запроса в AJAX GET, используя jQuery.В следующем блоке «data» автоматически передает значения в строку запроса.Есть ли способ передать эти данные в заголовок запроса вместо этого?

$.ajax({
         url: "http://localhost/PlatformPortal/Buyers/Account/SignIn",
         data: { signature: authHeader },
         type: "GET",
         success: function() { alert('Success!' + authHeader); }
      });

Следующее не работает либо

$.ajax({
         url: "http://localhost/PlatformPortal/Buyers/Account/SignIn",
         beforeSend: { signature: authHeader },
         async: false,                    
         type: "GET",
                    success: function() { alert('Success!' + authHeader); }
      });

Ответы [ 3 ]

362 голосов
/ 11 сентября 2012

Начиная с jQuery 1.5, есть хэш headers, который можно передать следующим образом:

$.ajax({
    url: "/test",
    headers: {"X-Test-Header": "test-value"}
});

Из http://api.jquery.com/jQuery.ajax:

заголовков (добавлено 1.5): Карта дополнительных пар ключ / значение заголовка для отправки вместе с запросом.Этот параметр устанавливается до вызова функции beforeSend;поэтому любые значения в настройке заголовков могут быть перезаписаны из функции beforeSend.

266 голосов
/ 15 июля 2010

Использование beforeSend:

$.ajax({
         url: "http://localhost/PlatformPortal/Buyers/Account/SignIn",
         data: { signature: authHeader },
         type: "GET",
         beforeSend: function(xhr){xhr.setRequestHeader('X-Test-Header', 'test-value');},
         success: function() { alert('Success!' + authHeader); }
      });

http://api.jquery.com/jQuery.ajax/

http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method

35 голосов
/ 05 июля 2016

$.ajax({
            url: URL,
            type: 'GET',
            dataType: 'json',
            headers: {
                'header1': 'value1',
                'header2': 'value2'
            },
            contentType: 'application/json; charset=utf-8',
            success: function (result) {
               // CallBack(result);
            },
            error: function (error) {
                
            }
        });
...