2011-11-11 14 views
0

私は、サーバーにデータを要求する共有ポイントページ内にWebパーツを持っています。 WebサービスMyWebService.asmxインサイド以下の1Ajaxキャッシュの問題?または、他の何か?

function GetPeriod() { 
    var period; 
    $.ajax({ 
     url: GetBaseWSUrl() + 'MyWebService.asmx/GetPeriod', 
     type: "post", 
     dataType: "json", 
     data: JSON.stringify({}), 
     contentType: "application/json; charset=utf-8", 
     async: false, 
     success: function (data) { 
      period = data.d; 
     } 
    }); 
    return period; 
} 

のように私のコードで私はAJAXリクエストを作っていますこれを行うには、私はターンクエリでデータのデータベースとは、JSONオブジェクトとしてこのデータを返す方法GetPeriod()を持っています。

私は、次のことを行うコードの一部に問題が発生しています:

  1. まずコードがGetPeriod()機能
  2. を呼び出し、その後、ユーザはいくつかのデータを変更し、サーバーに変更を送信することができますが
  3. は最後にコードがGetPeriod()機能を再度呼び出す

私はでGetPeriod()関数を呼び出していますポイントn°3これらのデータがデータベースに正しく保存されていても、更新されたデータは表示されません!まず

私は同期の問題であると考えられので、私はasync: falseのparamを追加したが、それは問題を解決しdid'nt。 今、私はそれがキャッシュの問題で考えています(データが正しくデータベースに保存されているため)ので、私はcache: falseのparamでみてくださいでしたが、これらのソリューションのどれも私のために動作しません。

また、データベースをプロファイリングしてみると、クライアントからHTTPリクエストが発行されてから有効な時間が得られるまでに、有効なリクエストが呼び出されることがわかりましたデータベース上で実行されます。

私は完全にこのことについて迷子にしています....

、いずれも役立ちますか?

+0

すべてのブラウザでこの出来事ですか?またはちょうど? – Patricia

+0

@パトリシア:私はちょうどSharepointのためにIE8/9で試しています:) – Lorenzo

+0

もちろん、もちろんです。私はキャッシュの問題を抱えていました:過去の間違ったオプション。私は答えにそれをどのように解決したのかを記します。 – Patricia

答えて

0

私はこの前に実行してきました。

$.ajaxSetup({ 
    // Disable caching of AJAX responses */ 
    cache: false 
}); 

あなたの$ .ajaxの一部としてのキャッシュオプションが機能しない理由はわかりませんが、これは可能性があります。

+0

ありがとうパトリシア。私はちょうどこの方法をしていますが、何も... ...( – Lorenzo

+0

あなたの要求の最後にパラメータが詰まっていませんか? – Patricia

関連する問題