4

ファイルからの JSON コンテンツの読み込みに問題があります。console.logが出力"server-side failure with status code 0"されます。これは、リクエストが失敗したことを意味します。

JSON ファイルの URL は正しく、指定されたアドレスにファイルが存在します。

Firebug に次のエラーが表示されます。

"NetworkError: 405 Not Allowed - http://localhost:8080/4910.json?_dc=1336714070619

Net タグは status を示します405 not allowed

なぜこれが起こっているのかについてのアイデアはありますか?

Ext.Ajax.request({
                   url: 'http://localhost:8080/4910.json',
                   success: function(response, opts) {
                      var obj = Ext.decode(response.responseText);
                      console.log(obj[0].name);
                   },
                   failure: function(response, opts) {
                      console.log('server-side failure with status code ' + response.status);
                   }
                });

_dc=1336714070619また、 GETリクエストの最後にパラメータを追加しているのは何ですか?

4

5 に答える 5

7

参考までに..

誰がパラメータ _dc を追加していますか。dc はキャッシュの無効化を表します。
デフォルトでは、extjs のすべてのリクエストは、リクエスト変数に _dc を自動的に追加します。詳細_

不要な場合はdisableCaching: false、リクエストに設定してください

Ext.Ajax.request({
    disableCaching: false,
    url: 'http://localhost:8080/4910.json',
    ......
});

なぜ許されないのか。
JSON URL パスを なし_dcで開いてみてください。または、サーバーに問題がある可能性があります。

于 2012-05-11T09:58:21.797 に答える
2

たとえば、jsonファイルがjsファイルと同じフォルダーにある場合は、相対パスを使用する必要があると思いますurl(ここでは相対パスはjsファイルと比較しています) 。4910.json

于 2012-05-11T06:42:23.130 に答える
1

たぶん、サーバーポートが間違っていますか?

これは私にとってはうまくいきます:

Ext.Ajax.request ({
    url: 'http://localhost:80/sof/json.json' ,
    disableCaching: false ,
    success: function (res) {
        // JSON is {name:val, type:val}
        console.log (Ext.JSON.decode(res.responseText).name);
    } ,
    failure: function () {
        console.log ('error');
    }
});
于 2012-05-11T13:58:51.880 に答える
0

ウェブサーバーの設定を確認してください。OSX 上の私の MAMP には localhost:8888 があります。

localhost でファイルを使用するたびに、相対パスを使用します。

CHMOD でファイルのパーミッションを変更しようとしましたか? ブラウザで開けないかも?

PHP内からファイルに書き込もうとして、後で確認しましたか?

于 2012-05-13T20:55:51.550 に答える