新問題,但真的接近need to refresh page in jquery mobile。從服務器重定向後需要刷新頁面
我有一個/登錄頁面,第一次訪問應用程序時(因此未記錄),用戶被重定向到該頁面。順便說一句,要登錄,用戶只需提供一個用戶名。這/登錄頁面提供了單一的文本輸入的表單,如下所示:
<form method="post">
<span>Votre pseudo:</span>
<input id="username" name="username" data-bind="value: username, valueUpdate: 'afterkeydown'" />
<input type="submit" id="join" data-icon="star" value="Rejoindre !" data-bind="enable : canJoin"/>
</form>
有形式沒有action屬性,因此(除非我失去了一些基本面,希望不要)的形式提交後登錄。
我使用的是快遞的NodeJS和處理Post請求服務器端是這樣的:
app.post("/login", function (req, res) {
//do some stuff, store username for instance...
res.redirect("/");
});
我確實重定向到/匹配頁面(指數),但在這個索引頁面嵌入的腳本沒有運行,並且一些jquerymobile對象沒有完全運行:這個索引文件有兩個JQM頁面(兩個div與data-role =「page」),第一個JQM頁面(div)的頁腳有兩個鏈接,一個指向第二頁(div)(通過錨點,JQM方式)。但是這個鏈接也不活躍。
爲了讓嵌入腳本運行($(document).ready,scripts in header ...)和所有JQM對象正確響應,我必須重新加載/頁面。
提示:在重新加載頁面之前,在firebug中,post/login請求的響應有一個302 statut(是由於重定向指令服務器端),以及get/request(肯定是由於重定向指令服務器端)有一個EMPTY響應與200法定,雖然它可以加載頁面和它嵌入的單個圖像。
我肯定失去了一些東西,但想不通...... 感謝所有幫助
感謝,正是我的問題,辦法找到我的解決方案!在jqm完全noob我做它錯了(老式的方式,但沒有禁用ajax默認) – wiill 2012-02-04 15:41:26
@wiill沒問題!自從第一次發佈以來,我一直在與JQM一起開發。我們只是說我已經完成了我完成錯誤的工作,尤其是當API正在發生變化並且所有文檔都已過期時。請將我的答案標記爲已接受。 ;) – Jonathan 2012-02-04 18:50:25