2012-02-03 70 views
0

我有一个非常简单的ajax调用刷新我的网页上的一些数据,但它似乎并没有正确触发。即使底层数据发生变化,每次调用的数据都是一样的。 Ajax调用看起来是这样的:ASP.Net MVC 3 Ajax查询未触发

function RefreshContent() { 
     //create the link 
     var link = "/Address/ListByAjax/" + $('#Id').val(); 
     $.ajax({ 
      type: "GET", 
      url: link, 
      success: function (data) { 
       $("#Address").html(data); 
      }, 
      error: function (req, status, error) { 
       alert('an error occured: ' + error); 
      } 
     }); 
    } 

我的控制器看起来是这样的:

public ActionResult ListByAjax(int Id) 
{ 
    var list = db.Address.Where(i => i.Person_Id == Id); 
    return PartialView("_List", list.ToList()); 
} 

回答

2

尝试设置缓存为false在您的Ajax调用 - 这将迫使浏览器通过对发送请求控制器:

function RefreshContent() { 
     //create the link 
     var link = "/Address/ListByAjax/" + $('#Id').val(); 
     $.ajax({ 
      type: "GET", 
      url: link, 
      cache: false, 
      success: function (data) { 
       $("#Address").html(data); 
      }, 
      error: function (req, status, error) { 
       alert('an error occured: ' + error); 
      } 
     }); 
    } 
0

使用 ajaxSetup({ cache: false }); });

这将关闭您的应用程序所做的所有ajax调用的缓存。