86

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

<projectName>
    \Content
        NBCCJr.json

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

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

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

見つからないのはなぜですか?「チルダ ワック ファイル名」はファイルへの正しいルートではありませんか?

アップデート

私はまた、「強打」を逆にして試しました:

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

...同じ結果が得られました (「リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました」)

更新 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>
4

5 に答える 5

2

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

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

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

于 2014-11-19T05:05:40.003 に答える
1

.json を .txt に変更しましたが、リクエストは正常に機能しています。.txt が引き起こす可能性のある結果についてはわかりません。

于 2016-11-03T02:43:03.630 に答える