我有一個按鈕,我用jQuery動態創建目標URI。控制器動作會對數據庫做一些更新,我希望它能夠顯示首先調用它的視圖。這個觀點可以不同。你如何處理這種情況?將值傳遞給控制器並返回到調用視圖?
這個想法是,你點擊標籤,提供翻譯,點擊保存,你可以看到你在當前頁面上的翻譯。我使用單頁工作很好,但擴展它是一個問題。
我知道我可以傳遞當前頁面的URI,然後解析它'手動'並把它放在RedirectToAction中,但有更乾淨的方式嗎?
我有一個按鈕,我用jQuery動態創建目標URI。控制器動作會對數據庫做一些更新,我希望它能夠顯示首先調用它的視圖。這個觀點可以不同。你如何處理這種情況?將值傳遞給控制器並返回到調用視圖?
這個想法是,你點擊標籤,提供翻譯,點擊保存,你可以看到你在當前頁面上的翻譯。我使用單頁工作很好,但擴展它是一個問題。
我知道我可以傳遞當前頁面的URI,然後解析它'手動'並把它放在RedirectToAction中,但有更乾淨的方式嗎?
我會使用PUT,只需更新成功當前頁面上的標籤。
不要在a while循環中包裝ajax調用。如果服務器端返回成功(不檢查我假設它是在某些HTTP 200狀態或其他發射的文檔)
如果你只是想重新加載成功,成功的功能只叫我猜下面將做到這一點。
$.ajax({
type: 'PUT',
url: /my/url/for/adding/a/translation,
data: theTranslation,
success: function() {window.location.reload(true);}
});
只需使用jquery.put來調用您的操作。
這不會導致重定向,相反,您可以擁有一個客戶端函數來處理來自控制器的返回並直接更新頁面DOM客戶端。
不應該真的使用jquery.get來改變資源的URL。這聽起來像是創作,所以應該使用PUT –
公平點,現在編輯。 –
但你如何確保它成功?點擊(功能(e){e.preventDefault();) updateSuccessful = false; while(!updateSuccessful){ $(「a [class ='save']」) .ajax的({ 類型: 'PUT', URL:$(本).attr( 'href' 屬性), 成功:updateSuccessful =真 });} window.location.reload(TRUE);} );' – ergot
那麼這個更新的答案似乎工作。在某種程度上頁面會刷新但不會更新。我正確的問題是在實際的ajax調用完成之前由頁面重新加載引起的? – ergot
這是蠕蟲病毒。我試圖使用的字符不被支持,但我想它是一個問題,我可以找到答案在論壇上的其他地方。 – ergot