2011-04-17 64 views
1

後續:JQuery:刷新頁面作爲函數的一部分

下面的解決方案非常適合刷新頁面。謝謝!

我所擁有的項目允許用戶單擊後退箭頭並查看編輯文本的過去版本。

我真正想要做的事情是在編輯任何頁面(他們可以看似編輯以前的版本(例如project.php/version5))後直接回到索引頁面(project.php),但最近的編輯是隻顯示在索引頁面上)。

function update(id){ 
// get value of user input field 
var value = $("#newtext").val(); 

// save new word to database 
$.post("save.php?word_id=" + id + "&word=" + value, function(data){ 

// redirects edits of past versions of text to current version on index page 
window.location = "project.php"; 

}); 

} 

這總是會讓用戶返回到主頁面,如果他在「過去」(說的projectphp/5版)編輯:當我使用這個偉大的工程。

但是,由於某些原因,在索引頁面本身編輯現在實際上並未導致頁面自我刷新(就像我使用window.location.reload時那樣)或顯示新的編輯,除非用戶手動重新加載頁面。

這是緩存問題,我可以解決它嗎?


你好。我正在使用內聯編輯器jQuery插件,並且我編寫了一個函數,用於在單擊保存按鈕時將用戶的文本編輯更新到mySQL數據庫。

我還想點擊該按鈕時刷新頁面。

我想知道如果我可以簡單地添加一個刷新線的功能,或者如果我必須寫一個新的功能(和那是什麼)。我已經經歷了相關的StackOverflow問題,並且我用過的jQuery刷新線似乎都沒有做到這一點。例如這不起作用:

function update(id){ 

// get value of user input field 
var value = $("#newtext").val(); 


// save new word to database 
$.get("save.php?word_id=" + id + "&word=" + value); 

location.reload(); 

} 

的功能在後面的代碼作爲這樣的:

.html('<input type="text" maxlength="36" id="newtext" value="'+ self.value() +'"> <button onClick="update(' + id + ');">' + options.buttonText +'</button>') 

這可能是一個相當容易解決,但我是一個有點新的遊戲。任何建議的話,將不勝感激!

回答

1

你可以這樣做:

window.location.href = window.location.href; 

但是,你應該做它在爲.get()回調函數,以確保第一家完成:

$.get("save.php?word_id=" + id + "&word=" + value, function(data){ 
    window.location.href = window.location.href; 
}); 
+0

大!這個回調有問題,我不能suss出來,但一旦我換出window.location.reload()作爲@carmstrong下面建議它像一個魅力工作。謝謝! – NokoB 2011-04-17 01:14:55

+0

如果您有幾分鐘的時間,我有以上的跟進。 – NokoB 2011-04-17 02:03:30

0

你也可以使用window.location.reload()

+0

奇妙 - 你的力量結合在一起... – NokoB 2011-04-17 01:15:14