2012-04-13 7 views
4

Ich versuche, eine JSON-Zeichenfolge an einen REST-Service zu buchen. Der folgende Code verwendet wird:Firefox nicht Content-Type-Header in xhrPost

dojo.xhrPost({ 
    url: REST_URL, 
    postData: jsonData, 
    handleAs: "json", 
    headers: {"Content-Type": "application/json"},  
    load: function(response, ioArgs) { 
    alert(response); 
    },  
    error: function(response, ioArgs) { 
     alert(response); 
    } 
    }); 

ich die Anfragen von den Browsern (IE/Firefox) mit Fiedler geschickt abfangen. Wenn ich die Anfrage vom IE abschicke, zeigt Fiddler an, dass der Content-Type-Header auf "application/json" gesetzt ist.

Wenn jedoch die gleiche Anfrage mit Firefox eingereicht wird, ist der Content-Type-Header in den Request-Headern nicht sichtbar (dh nicht von Firefox hinzugefügt). Mein Server ist so eingerichtet, dass er den Inhaltstyp "application/json" überprüft. Daher wird die Anfrage vom Server abgelehnt.

Frage:

  1. Was soll ich jetzt tun, diese Arbeit in Firefox
  2. Und vor allem zu machen, warum tut firefox den Header für Content-Type auf die Request-Header hinzufügen? Umwelt Details: OS: Win7 32 bit, Browser: IE8/9 & Firefox 11
+0

Dies funktioniert im Allgemeinen. Können Sie eine Verknüpfung zu einer tatsächlichen Seite herstellen, auf der das Problem angezeigt wird? –

+0

Es ist eine interne Entwicklungsaktivität. Ich werde versuchen, das gleiche woanders zu reproduzieren und den Code zu teilen. Vielen Dank. –

Antwort

1

Ich weiß, diese Frage ist tot, aber ein ähnliches Problem mit fand ich diese bug report

Wenn Sie nach diesem wisdom of the ancients suchen Ich hoffe, das hilft;)

2

Es könnte ein Fehler in Ihrem Test. Firefox fügt auch einen Header vom Typ Inhaltstyp hinzu, den Sie angeben. Der einzige Unterschied zwischen IE/Chrome und Firefox besteht darin, dass FF Zeichensatzinformationen wie unten anfügt.

Content-Type: application/json; charset=UTF-8 
+0

Danke. Wir haben es zu oft analysiert, als dass es ein Fehler wäre. –