2013-01-24 7 views
7

jQueryを使用してデータファイル(JSON .jsファイルなど)からデータをロードする方法はありますか?jQueryを使用してローカルファイルをロードするにはどうすればよいですか? (with file://)

例:// URI:現時点では

$.get("file:///C:/objectData.js", function() { alert('Load was performed.'); }); 

は、代わりにGETシンプルなHTTPを行うための、jQueryのは、ファイルに失敗し、その上にOPTIONS要求をやろうとしているように見えます。私はちょうどそのサイトがオフライン環境(Webサーバーがインストールされていない)で使用できるようにデータをロードしたいと思っています。

+1

可能な重複:http://stackoverflow.com/questions/4408707/jquery-read-text-file-from-file-system – aurbano

答えて

5

GETにはHTTP接続が必要なため、ローカルWebサービスがなければ動作しません。 open and read a fileではHTML5を使用できますが、そのようにJavaScriptリソースを読み込むことはできません。

ページがローカルに読み込まれる場合は、通常、スクリプトタグを使用してJSを読み込みます。

<script type='text/javascript' src='/objectData.js'></script> 

これを回避する唯一の方法は、この答えであってもよい:Is it possible to load in a local version of a JavaScript file instead of the server version?

またはthis(両方がローカル疑似サーバーを作る必要):

3

私はそれが可能であると思います。私はそれを試してみました。 Htmlコードとテキストファイルは同じフォルダにあります。

ここにjQueryの部分があります。

$(document).ready(function() 
{ 
    $("select").change(function() 
    { 


     file_name = $("select").val(); 
     $('#span_result').load(file_name); 
    }); 
}); 

HTMLコードがFirefoxで私のために

<select class="sel" name="files"> 
    <option value="">Select a file</option> 
    <option value="file.txt">file.txt</option> 
    <option value="file2.txt">file2.txt</option> 
    <option value="jQuery_file.html">jQuery_file.html</option> 
    </select><br> 
    <p>Contents of the file will be displayed below</p> 
    <div id="span_result"></div> 

Itworkedです。それがあなたと一緒に失敗した場合は申し訳ありません。

+4

Chromeでは、これはファイルで失敗します:// - "クロスオリジン要求はサポートされていますhttp、data、chrome、chrome-extension、https、chrome-extension-resourceのようなプロトコルスキームのためのものです。ドキュメントから期待通り。 http://api.jquery.com/load/「サーバーからデータをロードする」 – ChrisJJ

関連する問題