11

こんにちは私は私のローカルマシンから.jsonファイルを読み込もうとしています。私が使用しているコードではそれを読み取りません:

jQuery.getJSON('../json/test.json') 
    .done(function(data) {
        var test = data;
        alert("sucsess");
    })
    .fail(function(data){
    alert("failed");

});

私がこれから得ているのは、私が間違っていることは失敗です。私はこれでサーバーを通過していません。

4

6 に答える 6

10

ファイルAPIを使用します。サンプルコードとデモのガイドは次のとおりです。

于 2012-06-15T08:21:35.257 に答える
8

このフィドルを確認してください

<title>reading Text files</title> 
<body>
    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>
    <script>
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // Loop through the FileList
        for (var i = 0, f; f = files[i]; i++) {

        var reader = new FileReader();

        // Closure to capture the file information.
        reader.onload = (function(theFile) {
            return function(e) {
                // Print the contents of the file
                var span = document.createElement('span');                    
                span.innerHTML = ['<p>',e.target.result,'</p>'].join('');
                document.getElementById('list').insertBefore(span, null);
            };
        })(f);

        // Read in the file
        //reader.readAsDataText(f,UTF-8);
        //reader.readAsDataURL(f);

        reader.readAsText(f);
        }
    }
    document.getElementById('files').addEventListener('change', handleFileSelect, false);
    </script>
</body>
于 2013-09-18T12:58:18.183 に答える
5

申し訳ありませんが、ローカルドライブからページを実行する場合(アドレスバーにはファイル:///ページへのパスの形式があります)、ディスクからファイルを読み取ることができますが、Webサーバー(http://。 ....。)ローカルドライブからファイルを読み取ることができません。ユーザードライブから情報を盗むことからあなたを守ります。あなたはそれを読むためにファイルをアップロードする必要があるかもしれません

編集:私はそれを取り戻す必要があります。新しいブラウザでは、ユーザーイベントに基づいてファイルを読み取ることができます。ユーザーがファイル入力をクリックしてファイルを開くと、それを読むことができます

于 2012-06-15T08:16:46.717 に答える
2

セキュリティ上の理由などにより、JavaScriptを介してローカルマシン上のファイルにアクセスすることはできません。

JavaScriptとDOMは、悪意のある作成者がWeb経由でクライアントコンピューター上で実行するスクリプトを配信する可能性を提供します。ブラウザの作成者は、2つの制限を使用してこのリスクを抑制します。まず、スクリプトは、ファイルの作成などの汎用プログラミングタスクではなく、Web関連のアクションのみを実行できるサンドボックスで実行されます。

しかし、私はこのWebサイトを見つけましたが、試してみたことはありません。おそらくあなたの助けに なります。JavaScriptでローカルファイルを読む

編集: Webサーバーでコードを実行せず、ローカルシステムでのみ実行する場合(C:/Users/user/index.htmlのようなブラウザーでindex.htmlを呼び出す)、アクセスできますが、このWebサイトで実行する必要がある場合オンラインになることはありませんが、それはうまくいきません

于 2012-06-15T08:16:11.930 に答える
0

サーバーではなくローカル(クライアント)システム上のファイルについて話している場合、それは単純なjavascriptでは不可能です。ローカルファイルシステムリソースにアクセスできません。

于 2012-06-15T08:17:51.097 に答える
0

jQuery.getJSON呼び出しは非同期であるため、function(data){...}内でのみテスト変数を確認できます。

于 2012-06-15T08:19:41.830 に答える