web-dev-qa-db-ja.com

JSONファイルが見つからないのはなぜですか?

Asp.netプロジェクト内のContentフォルダーにjsonファイルがあります。

<projectName>
    \Content
        NBCCJr.json

...そしてそれにアクセスするためのコード:

$.getJSON('~/Content/NBCCJr.json', function (data) {
    $.each(data, function(i, dataPoint) {
        // Bla
      });
  });
)

...しかし、コードが呼び出されても何も起こりません。ブラウザコンソールには、「リソースの読み込みに失敗しました:サーバーは404(Not Found)のステータスで応答しました」と表示されます

なぜ見つからないのですか? 「チルダはファイル名をたたく」ファイルへの正しいルートではないですか?

更新

また、「強打」で逆に試しました。

$.getJSON('~\Content\NBCCJr.json', function (data) {

...そして同じ結果を得ました( "リソースのロードに失敗しました:サーバーは404(Not Found))のステータスで応答しました")

更新2

それから、私はこうして前置された強打なしでそれを試みました:

$.getJSON('Content/NBCCJr.json', function (data) {

...そしてコンソールにこのあいまいなメッセージが表示されます:

*GET http://localhost:9702/Content/NBCCJr.json 404 (Not Found) jquery.js:8724
XHR finished loading: "http://localhost:9702/Content/NBCCJr.json".*

とにかく、それは見つかりませんでしたが、まだロードされましたか?

更新3

ブラウザを変更してファイルに移動しようとしたとき:

http://localhost:9702/Default.cshtml

...に:

http://localhost:9702/Content/NBCCJr.json

Vint Cerf、Tim Berners-Lee、および/またはAl Goreから有益なWSODメッセージが届いた:

HTTPエラー404.3-見つかりません拡張機能の構成のため、要求しているページを提供できません。ページがスクリプトの場合、ハンドラーを追加します。ファイルをダウンロードする必要がある場合は、MIMEマップを追加します。

更新4

JAMのおかげで、現在機能しています。

これをWeb.Configに追加する必要がありました。

  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
    </staticContent>
  </system.webServer>
84
B. Clay Shannon

~を削除しようとしましたか?

次のように:

$.getJSON('/Content/dumboJr.json', function (data) {
    $.each(data, function(i, dataPoint) {
        // Bla
      });
  });
)

IISがJSONファイルを提供できるようにするには、これをweb.configに追加してみてください。

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
95
JAM

解決策は、MIMEタイプにjsonファイル拡張子タイプを追加する必要があることです

方法1

IISに移動し、アプリケーションを選択してMIMEタイプを検索します

enter image description here

右パネルから追加をクリックします

ファイル名拡張子= .json

MIMEタイプ= application/json

enter image description here

。jsonファイルタイプをMIMEタイプIISを再起動し、jsonファイルにアクセスしてみてください


方法2

そのアプリケーションのweb.configに移動し、この行を追加します

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>
22
Kaushal Khamar

* .jsonファイルをサブフォルダーではなくwebRootに配置してみてください。そして、次のように参照します:

$.getJSON('NBCCJr.json', function (data) {

もちろん、これには、jquery.min.jsからのjQueryシステムオブジェクトまたはjson2-1.0.min.jsからのJSON構造の以前の包含とインスタンス化が必要です。

2
Paul Milleson

.jsonを.txtに変更しましたが、リクエストは正常に機能しています。 .txtがもたらす結果についてはわかりません。

1
Pankaj