2016-11-13 23 views
2

コンソールでこのエラーが発生するのはなぜですか?そのMIMEタイプ(「アプリケーション/ JSON」)が実行されず、 厳密なMIMEタイプチェックが有効になっているためスクリプトの実行が拒否されました。厳密なMIMEタイプチェックが有効になっていますか?

は 「https://www.googleapis.com/customsearch/v1?key=API_KEY&q=flower&searchType=image&fileType=jpg&imgSize=small&alt=json」 からスクリプトを実行することを拒否しました。

答えて

5

外部のJavaScriptを読み込もうとしている<script>要素があります。

あなたが指定したURLは、JavaScriptプログラムではなくJSONファイルを指しています。

サーバが正しくJSONであると報告しているため、JSONをJavaScriptとして実行しようとするとエラーメッセージが表示されてブラウザが終了する(エラーが発生する)。


オッズは、このための根本的な理由は、あなたがcross origin errorを直撃している、Ajaxリクエストを作成しようとしている、あなたはJSONPを使用しているjQueryのを言うことによってそれを修正しようとしたということであるということです。これはURLがJSONP(これはJavaScriptの別のサブセットです)を提供する場合にのみ機能しますが、これはJSONPとは異なります。

追加のクエリ文字列パラメータcallback=the_name_of_your_callback_functionと同じURLがJavaScriptを返します。

+0

を私は今、これを与えているし、それが<スクリプトのid =「データ」タイプ=「アプリケーション/ jsonの」 –

+0

エラーを修正しますが、どのように私はリンクapiが言うように私は取得する必要があります画像を表示しますか? –

+0

'type =" application/json "' - ブラウザはJavaScriptを読み込もうとしていないことを知っているので、スクリプト要素は完全に無視されます。 – Quentin

-4

私はjspパスに$ {pageContext.request.contextPath}を追加するだけで問題を解決しました。 はの代わりに:

<script src="static/js/jquery-3.2.1.min.js"></script> 

私が設定:

<script src="${pageContext.request.contextPath}/static/js/jquery-3.2.1.min.js"></script> 
関連する問題

 関連する問題