[解決済み] MIME タイプが正しくないため、Chrome が AJAX スクリプトの実行を拒否する。
2022-05-12 10:36:51
質問
AJAXでJSONとしてスクリプトにアクセスしようとしているのですが、Safariや他のブラウザでは正常に動作するのですが、残念ながらChromeでは実行されません。以下のようなエラーが発生します。
MIME タイプ ('application/json') が実行可能でないため、'*' からのスクリプトの実行を拒否され、厳格な MIME タイプ チェックが有効になっています。
以下はリクエストです。
$.ajax({
url: "http://some_url/test.json?callback=?",
type: "GET",
dataType: 'json',
cache: true,
success: function (data, status, error) {
console.log('success', data);
},
error: function (data, status, error) {
console.log('error', data, status, error);
}
});
どなたか回避策をご存じないでしょうか?
解決方法は?
callback引数を追加することで、XMLHttpRequestを使ったJSONのリクエストではなく、script要素を使ったJSONPのリクエストを行いたいことをjQueryに伝えています。
JSONPはJSONではありません。JavaScriptのプログラムです。
JSONP用の正しいMIMEタイプを出力するようにサーバーを変更します。
application/javascript
.
(矛盾しているので、jQueryにJSONを期待していると伝えるのはやめましょう。
dataType: 'jsonp'
).
関連
-
Vueの要素ツリーコントロールに破線を追加する説明
-
JSアレイループと効率解析の比較
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
Vueにシンプルなメモ帳機能を実装
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み] テスト
-
[解決済み] スクリプトの実行を拒否されました、厳密なMIMEタイプチェックが有効になっていますか?
-
[解決済み】GitHubでホストされている外部JavaScriptファイルをリンクして実行する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vueの補間表現とv-textディレクティブの違いについて
-
Vueのクラススタイルの使い方の詳細
-
Vueのイベント処理とイベントモディファイアの解説
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
[解決済み] テスト
-
JavaScriptのStringに関する共通メソッド
-
[解決済み] 同一生成元ポリシーを回避する方法