2011-01-14 41 views
1

我已經在成功調用服務器端方法並返回Json的MVC應用程序中創建了一個ActionLink。AjaxContent javascript參數不包含函數get_data()

我的問題是,在OnSuccess JavaScript函數接收到的AjaxContext參數不包含.get_data()函數。也沒有在this SO article中指定的任何其他功能。

上下文對象只返回在服務器端方法中構造的數據。

@Ajax.ActionLink("Remove from cart", "RemoveFromCart/" + @item.Id, new AjaxOptions() { OnSuccess = "handleUpdate", HttpMethod="POST" }) 


[HttpPost] 
     public ActionResult RemoveFromCart(int id) 
     { 
      ShoppingBasket basket = ShoppingBasket.GetShoppingBasket(this.HttpContext); 
      basket.Items.Remove(basket.Items.Find(i => i.Id == id)); 
      ShoppingCartRemoveViewModel results = new ShoppingCartRemoveViewModel 
      { 
       DeleteId = id, 
       Message = id + " has been removed." 
      }; 

      return Json(results); 
     } 


<script type="text/javascript"> 
    function handleUpdate(context) { 
     alert('deleted ' + context.DeleteId); 
     context.get_data(); <-- ERROR 
    } 
</script> 

雖然在返回數據上調用Json(),但上下文似乎不是AjaxContext對象。有任何想法嗎?

感謝

回答

0

螢火蟲顯示上下文對象是一個XMLHttpRequest對象

擺弄周圍了一點後,我終於得到了使用

<script type="text/javascript"> 
    function handleUpdate(context) { 
    alert(context.responseText); 
    } 
</script> 
0

JSON數據我有更好的運氣:

(context.valueOf() == "blah has been removed") 
相關問題