0

JSONを使用して要素にアラートを送信しようとしJQueryています。コードは次のとおりです。

data.jsJSONデータ

[
    {
  "name": "bader",
  "major": "medicine",
  "id": "334453"
    }
]

Jqueryコード

$(document).ready(function() {

      $.getJSON("data.js", function(json) {
   alert("JSON Data: " + json.name);
 });



});

私は要素を検査しようとしました私は私のコンソールでこのエラーがありました

XMLHttpRequest cannot load file:///data.js. Origin null is not allowed by Access-Control-Allow-Origin.

私はまだ取り扱いに非常に慣れていません、JSONそしてJQUERY、誰かが助けることができれば、私はここでどこが間違っていたのかわかりません

4

3 に答える 3

5

file:///data.jsローカルファイルシステムから直接ページをロードしていることを示します。

ブラウザにはAjaxリクエストの制限があり、リモートドメイン(リモートドメインで許可されていない場合)またはローカルファイル(ただし、これはafaikで有効にできます(ブラウザによって異なります))へのアクセスは許可されません。

最も簡単な方法であるIMHOは、ファイルシステムからではなく、サーバーを介してファイルにアクセスすることです。
Pythonを使用している場合は、現在のディレクトリで。を使用してローカルサーバーを起動できますpython -m SimpleHTTPServer。これはテストには十分であり、ローカルファイルシステムアクセスよりも優れています。


出力に関して:は配列になるので、最初のオブジェクトjsonのにアクセスする必要があります。namejson[0].name

于 2012-04-17T23:21:13.613 に答える
1

これを試して:

$.ajax({
  url: "data.js",
  dataType: 'json',
  contentType:"application/json",
  success: function(data)
  {
      alert(JSON.stringify(data, null, "\t"))
  }
});
于 2012-04-17T23:21:02.083 に答える
1

このようにアクセスします

json[0].name

[]括弧は配列演算子であるためです。

于 2012-04-17T23:21:13.170 に答える