Apache-2.2

在 htaccess 中為 jsonp 設置內容類型標頭

  • August 18, 2016

我在安裝在我的網站上的第 3 方 javascript 遊戲時遇到問題,其中返回的內容類型響應標頭application/json不是application/javascript作為 jsonp 請求的資源。這在 Safari 或 Firefox 中似乎不是問題,但它在 Chrome 中引發了錯誤。

我在控制台中遇到的錯誤是Refused to execute script from 'http://example.come/js/game/data/game-data.json' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

根據一個推薦的配置,我嘗試將以下內容添加到.htaccess遊戲根目錄中的文件中,但似乎沒有任何效果:

<IfModule mod_mime.c> AddType application/javascript jsonp </IfModule>

我已經確認在我的文件LoadModule mime_module modules/mod_mime.so中啟用了該功能。httd.conf我還需要嘗試其他設置嗎?

AddType application/javascript jsonp

jsonp在這種情況下是指被請求的靜態資源的文件副檔名。但是,引用的錯誤狀態game-data.json(否p),這意味著它是一個普通的 JSON 字元串/數據?application/json通常是 JSON 數據的正確 mime 類型。

但是,如果game-data.json真的在服務 JSONP,那麼您也許應該修改您的AddType指令並刪除p

AddType application/javascript json

引用自:https://serverfault.com/questions/797758