2016-10-19 2 views
1

私はintellij IDEAを使用してjspでWebプロジェクトを作成しています。 "customer.json"ファイルからデータを取得し、ボタンをクリックすると、この "customer.json"ファイルがバックエンドで変更されます。次に、データを取得しようとしますが、古いjsonファイルを読み込みます。私も、私はエラーを得た。この時間はありませんがあることを述べていた「customer_1.jsp」のような別の名前で新しいJSONファイルを追加し、私のJSPからそれを読んでみましたが、Javaプロジェクト(jsp)のjsonファイルの変更が表示されません

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 
    response.setHeader("Pragma","no-cache"); //HTTP 1.0 
    response.setDateHeader ("Expires", 0); //prevents caching at the proxyserver 

:私は、コードを次のようにキャッシュを無効にしてみましたそのようなファイルは "customer_1.jsp"という名前で、ディレクトリにも表示されます。問題は何ですか?どのように解決できますか?助けてくれてありがとう?

注:私はd3.jsのためのデータを使用していますが、私は次のコードでそれを読む:

d3.json("{path}/customer.json", function(error, json) { 
    if (error) return console.warn(error); 
    data = json; 
    visualizeit(); 
}); 

注:私はムーはcoffescriptバージョンでイベントをクリックしても、ここに書いています(理解しやすいです。 ):

$(".node").live "dblclick",(e) -> 
    selectedId = $(this).attr("id"); 
    loadData(selectedId) 
    setTimeout(updateForSelected(selectedId),5000) 

    loadData = (selectedId) -> 
    $("#waitForUpdating").load 'DataForSelectedCustomer.jsp?id='+selectedId; 

    updateForSelected = (selectedId) -> 
    d3.json "customer.json", (json) -> 
     myNetwork.updateData(json) 

「DataForSelectedCustomer.jsp」では、jsonファイルに書き込むJava関数を呼び出します。

+0

申し訳ありませんが、私はIDEディレクトリをリフレッシュすることによって何を意味するのか分かりませんでした。それはユーザーインタラクティブなプロジェクトであり、ユーザーがそれをクリックするたびにディレクトリ全体を変更する必要がありますか? – user3783144

+0

はい申し訳ありませんが、何かを考えていました – yashpandey

答えて

1

これは、customer.jsonファイルがブラウザによってダウンロードされ、常にローカルコピーを使用するためです。ファイルを更新する場合は、JQuery Ajax APIまたはthe Fetch APIを使用してバックエンドから再度ファイルを取得する必要があります。

  1. ブラウザがWebページを表示するファイル
  2. あなたはバックエンドでのJSONファイルを変更をダウンロードし、ウィッヒは、あなたがいることを新しいJSONファイルをダウンロードし、使用するブラウザ
  3. で読み取れませんフロントエンドをもう一度
+0

私の質問が更新されました。私はこのロード関数を使ってAjax呼び出しを作ったと思う。しかしそれはまだ古いjsonを読みます。申し訳ありませんが、新しいJsonをダウンロードするとどういう意味が分かりませんか?d3.json( "customer.json")は既にそれをしていませんか? – user3783144

+0

はい、d3はすでにそれをしていますが、私はd3の経験はありませんが、ライブラリがJSONドキュメントを一度取り出してからローカルのキャッシュファイルを使用しているようです。だから私はあなたが更新を見たい場合は、再度それを取得する必要があると思うのです。 – Randy

+0

私は$ .getJSON( "customer.json"、(json) - > newJsonx = jsonを試した後にnewJsonxに警告しますが、常に同じ結果を返します) – user3783144

関連する問題