ajax-post - den ich ändern will, der den Accept-Encoding-header mit dem Wert
Ich bin mit jQuery ajax Aufruf meine WCF-service mit einem HTTP-POST. Die Antwort GZIP-codiert ist, und das verursacht Probleme in meinem Umfeld. (Siehe diese Frage). Wenn die Antwort ist nicht GZIP-codierte alles in Ordnung ist.
So suchen in Fiddler, sehe ich, dass die jQuery generierten Abfrage hat folgenden Header:
Accept-Encoding: gzip,deflate,sdch
Wenn über fiddler, ändere ich diesen Wert auf None
, dann ist die Antwort nicht komprimiert, das ist, was ich will. Alles, was ich tun müssen, ist ändern Sie den Wert im Feld "Accept-Encoding" - header.
Es scheint, ist es nicht möglich, dies zu ändern-header-Wert über die .ajax
Befehl. (Siehe dieses forum posten).
Kann mir jemand sagen welche Möglichkeiten ich habe, dies zu ändern-header-Wert.
Hier ist mein Aktueller Versuch. Meine headers
parameter scheint ignoriert zu werden.
$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);
- Bedeutet diese Antwort helfen: stackoverflow.com/questions/5771878/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Wert ist wahrscheinlich überschrieben wird, die später im Prozess.
Versuchen Umsetzung
beforeSend
wie in den demo-code unten und den Wert von header(s) sollte man die Letzte Anfrage nun (Daumen).Ist dies nicht möglich, weil die Wahl der richtigen Codierung, die durch browser.
Wenn Sie dies tun
Du wirst sehen, dieser Fehler:
Ref: App Engine Accept-Encoding
Ich bin mir nicht sicher, dass 'none' ist eine gültige option. Ich glaube, wenn du den Header accept-encoding 'deflate' statt 'none', das sollte Sortieren, Ihr problem.
z.B.