離開頁面前保存當前的URL在控制器中,由於某些原因,我需要從用戶正在導航的頁面保存url以便在其他views
和中使用它。 I.E:用戶在www.page1.com上,正在瀏覽www.page2.com,然後我想以某種方式從www.page1.com保存網址。在導航離開頁面
我已經做了一些研究並嘗試了一些東西,首先我正在尋找cookie,但是由於很多原因我想忽略這個可能的解決方案。然後我正在尋找一個使用JQuery來設置MVC Session變量的解決方案,這些變量因爲服務器端的變量而不起作用。最後我提出了一個可能的soluiton,它正在對控制器進行AJAX調用,並使用UserProfile(我在應用中創建的)來保存正在導航的url。
這是我使用的代碼:
的觀點:
$("a").on('click', function(e) {
$.ajax({
url: '<%= Url.Action("SetPreviousPage") %>',
type: 'POST',
data: $(location).attr('href');,
success: function() {
alert("Success");
},
error: function(xhr, status, error) {
alert(error.toString());
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
});
控制器:
public JsonResult SetPreviousPage(string url)
{
FactsProfile.GetProfile().PreviousPage = url;
return Json(url);
}
出於某種原因,這並不工作,我越來越在我的AJAX調用中出現錯誤,我無法看到實際出錯的地方。
所以有兩個問題。
1:這是完成此任務的正確方法嗎?或者這對於這樣一個小任務有很大的作用? 2:我的方法出了什麼問題?我該如何檢查問題來自哪裏。
你有沒有嘗試過使用'Request.UrlReferrer'我記得它給你在移動到這個新的位置之前的URL。 – Dabbas
正是我在找的,謝謝! – Basvo
請標記爲答案 – Dabbas