Używam jQuery ajax do wywoływania mojej usługi WCF z HTTP POST. Odpowiedź jest kodowana GZIP, a to powoduje problemy w moim środowisku. (Patrz this question). Jeśli odpowiedź nie jest kodowana GZIP, wszystko jest w porządku.Poczta ajax - Chcę zmienić wartość nagłówka Accept-Encoding
Więc patrząc w Skrzypek, widzę, że jQuery wygenerowane zapytanie ma następujące nagłówki:
Accept-Encoding: gzip,deflate,sdch
Jeżeli poprzez Skrzypek, i zmienić tę wartość na None
, to odpowiedź nie jest skompresowany, co jest, co Chcę. Wszystko, co muszę zrobić, to zmienić wartość w nagłówku "Accept-Encoding".
Wygląda na to, że nie można zmienić tej wartości nagłówka za pomocą polecenia .ajax
. (Patrz this forum post).
Czy ktoś może mi powiedzieć, jakie opcje muszę zmienić wartość tego nagłówka.
Oto moja obecna próba. Mój parametr headers
wydaje się być ignorowany.
$telerik.$.ajaxSetup({
accepts: 'application/json, text/javascript, */*'
});
var parameters = {
"playerId": args.playerId
};
var dataInJsonFormat = '{ "playerId": ' + args.playerId + '}';
var ajaxCallParameters = {
accepts: 'application/json, text/javascript, */*',
async: true,
cache: false,
contentType: "application/json; charset=utf-8",
url: "../Services/CmsWebService.svc/SendUpdateRequestToPlayer",
headers: { "Accept-Encoding" : "None" },
type: "POST",
data: dataInJsonFormat,
dataType: 'json',
error: function (jqXHR, textStatus, errorThrown) {
var errorString = 'Error thrown from ajax call: ' + textStatus + 'Error: ' + errorThrown;
var displayPanel = document.getElementById('requestStatusUpdateResults');
$telerik.$(displayPanel).text(errorString);
},
success: function (data, textStatus, jqXHR) {
var displayPanel = document.getElementById('requestStatusUpdateResults');
$telerik.$(displayPanel).text(data.d);
}
};
$telerik.$.ajax(ajaxCallParameters);
Czy ta odpowiedź pomoc: http://stackoverflow.com/questions/5771878/jquery -ajax-request-change-user-agent – sberry