2012-04-13 26 views
4

我正在嘗試將json字符串發佈到REST服務。正在使用以下代碼:Firefox不尊重xhrPost中的Content-type標頭

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); 
    } 
    }); 

我使用fiddler攔截瀏覽器(IE/Firefox)發送的請求。當我從IE提交請求時,fiddler顯示Content-type頭部被設置爲「application/json」。

但是,當使用Firefox提交相同的請求時,Content-type標頭在請求標頭中不可見(意思是不由Firefox添加)。我的服務器設置爲驗證內容類型是'application/json'。因此,該請求被服務器拒絕。

問:

  1. 什麼我現在做,以使在Firefox
  2. 這項工作最重要的是,爲什麼犯規火狐內容類型添加標題到請求頭? 環境細節:操作系統:Win7的32位瀏覽器:IE8/9 &火狐11
+0

這通常工作。你能鏈接到顯示問題的實際頁面嗎? – 2012-04-14 02:25:11

+0

這是一項內部開發活動。我會嘗試在其他地方重現並分享代碼。謝謝。 – 2012-05-01 15:44:29

回答

2

有可能是在您的測試是錯誤的。 Firefox還會添加您指定的Content-type標頭。 IE/Chrome和Firefox之間唯一的區別在於FF添加了如下所示的字符集信息。

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

謝謝。我們多次分析它是一個錯誤。 – 2012-05-01 15:43:23