Ajax POSTを使用してJSONオブジェクトを更新しましたが、その後JSONオブジェクトを取得しようとしたときにJSONオブジェクトの古いデータが返されました。JQueryで常に新しいデータを取得するためにJSONオブジェクトを削除する
この古いオブジェクトを削除して、常に新しいオブジェクトを取得するにはどうすればよいですか?
- がメッセージを送信し、MSGリストJSONオブジェクトを更新します。また
私は能力を持つようにしたい:これはGETはどのように見えますか。
- 直ちにGETを呼び出して、新しい更新データ(新しいメッセージが追加されたもの)でオブジェクトを取得します。ここ
POSTメソッドのコードは次のとおりです。
this.sendMessage = function(params)
{
var url = baseURL+"/direct/forum_message/sendMessage";
if(!params){
params = {'sakai.session': sessionId, 'siteId': siteId, 'toolId':toolId};
}
else
{
params.sessionId = sessionId;
params.siteId = siteId;
params.toolId = toolId;
}
var ret = false;
var ajaxOptions = {
url: url,
data: params,
type: "POST",
traditional: true,
async: false,
complete: function(data){
if(data.status == 0 || data.status == 200 || data.status == 201)
{
ret = $.parseJSON(data.responseText);
}
}
};
$.ajax(ajaxOptions);
return ret;
}
及び方法GET:暗闇の中で私のショットはcacheオプションです
this.getListOfMessagesForSite = function()
{
var url = baseURL+"/direct/forum_message/getListOfMessagesForSite/"+siteId+".json";
var params = (sessionId != "") ? {'sakai.session': sessionId} : null;
var ret = null;
var ajaxOptions = {
url: url,
data: params,
type: "GET",
dataType: "json",
async: false,
complete: function(data){
if(data.status == 0 || data.status == 200 || data.status == 201)
{
ret = $.parseJSON(data.responseText);
}
}
};
$.ajax(ajaxOptions);
return ret;
}
JavaScriptを追加してください。しかし、推測しなければならない - ajaxのポストメソッドは非同期で、ポストが完了する前に '古い'値を使用しています。 –
実際には、POSTメソッドとGETメソッドの両方でasyncがfalseに設定されています。 – Best