2016-04-16 11 views
0

私はHTMLファイルとメインのJavaScriptファイルと同じフォルダ内の2つのファイルがあります。ここでは私のJQuery get()関数がJSON URLのために働いていますが、非JSON URLのために働いているのはなぜですか?

hello.js 
hello.json 

は私のHTMLです:ここでは

<!DOCTYPE html> 
<html> 
    <head></head> 
    <body> 
     <script type="text/javascript" src="jquery-1.12.1.js"></script> 
     <script type="text/javascript" src="page.js"></script> 
    </body> 
</html> 

は私のメインのJavascript(すなわち、ないハローです。 jsファイル):

$(document).ready(function() { 
    $.get("hello.js", function(response) { 
    console.log("Hello") 
    }); 
}); 

ご覧のとおり、これはかなり複雑なコードです。上記のJavascriptはうまく動作し、コンソールに「Hello」を表示します。 "hello.js"を "hello.json"に変更すると、何も印刷されません。私はいくつかのJSONファイルでこれを試してみましたが、何も働いていませんでした。

データは実際には解析されていないので問題はないと思いますが、hello.jsonのJSONデータが正しくフォーマットされていることを検証しました。

+1

あなたのサーバーがjsonファイルを提供していない可能性がありますか?これをテストするためのURLを教えてください。 – argaz

+2

使用しているブラウザのデベロッパーツールのネットワークパネルを確認しましたか? (ほとんどのメインストリームブラウザでF12を使用して開くことができるはずです)。これは、リクエストが行われているかどうか、もしそうであれば、どのようなレスポンスがサーバーによって返されているかを示すはずです。それは狭いものを助けるだろう。 – David784

答えて

0

はJSONファイルを取得したり、$.get()を使用してJSONファイルを取得しているとき、JSONとしてデータ型を指定しようとする代わりに$.get()$.getJSON()を使用してみてください。それはうまくいくかもしれない。

+0

全く問題ではありません。 '$ .getJSON'はJSONに設定されたデータ型を持つ' $ .get'のショートカットです。 – adeneo