2016-08-17 47 views
-1

在ajax成功之後,我需要重定向到一個具有參數(在MVC中)的URL。我需要該參數在URL上不可見(如quesrystring)。在MVC中重定向到ajax成功的URL

var Module=new Object() 
Module="data"; 
$.ajax({ 
    type: 'POST', 
    dataType: 'json', 
    url: '@Url.Action("AddRecord", "Add")', 
    data: Module, 
    beforeSend: function() { 
    }, 
    error: function (data) { 

    }, 
    success: function (data) { 
    //redirect to another page having parameter. But parameter should not be visible on URL 
    } 
+0

AJAX的整點是保持在同一頁上。如果你想重定向,不要使用ajax - 它毫無意義。 –

+0

仍然可以使用window.location但參數值是可見的,所以你必須加密該值或之前,你必須進行額外的Ajax調用並保存參數值在「TempData」和窗口位置調用 –

回答

1

存儲您的參數在會話

success: function (data) { 
        $.ajax({ 
         url: '@Url.Action("abc")', 
         data: { username: $("#txtlgusername").val(),password: $("#txtlgpassword").val() }, 
         type: 'GET', 
         success:function(data){ 
         window.open("http://localhost:9999/home/Demo"); 
          } 
         }) 
         } 

制定行動來存儲會話

public string abc(string username, string password) 
{ 
    Session["a"] = username; 
    Session["b"] = password; 
    return ""; 
} 
+0

在ajax方法存儲Tempdata中的值。在ajax成功後調用的方法,我從tempdata中獲取值。 – user166013