asp.net-mvc-3
  • jquery
  • asp.net-mvc-4
  • getjson
  • 2012-12-07 105 views 0 likes 
    0

    所以,我在從我的操作中獲取json的問題,並希望有人能指出我的錯誤。getJSON返回null MVC3 - 4

    所以,這裏是我的jQuery:

    $("#ProductSelect").change(function() { 
        $.getJSON('Admin/GetProduct?id=' + $(this).val(), function (data) { 
         var json = $.parseJSON(data); 
         alert(json); 
        }); 
    }); 
    

    這裏是它調用的行動:

    [HttpGet] 
        public JsonResult GetProduct(int id) 
        { 
         var product = new Product(); 
         product.GetProductById(id); 
         return this.Json(product, JsonRequestBehavior.AllowGet); 
        } 
    

    在JS警報不斷出現空。沒有JS錯誤(使用Firebug)。使用Action上的一個斷點,我可以看到Product被正確填充。有任何想法嗎?

    +1

    你的json是什麼樣的?複製/粘貼樣本... – xandercoded

    +0

    這是問題。我在這裏跟隨這個例子:http://geekswithblogs.net/michelotti/archive/2008/06/28/mvc-json---jsonresult-and-jquery.aspx和我的印象是this.Json()爲您創建了JSON。所以,我只是在Product中創建了一個ToJSON()方法,並且它現在可以工作。謝謝,Xander。 – ScubaSteve

    回答

    0

    顯然你的控制器使用一個沒有任何信息的剛剛初始化的對象。你忘了使用數據庫對象,然後找到該ID作爲主鍵?像這樣:

    [HttpGet] 
        public JsonResult GetProduct(int id) 
        { 
         //private DataContext db 
         return Json(db.GetProductById(id), JsonRequestBehavior.AllowGet); 
        } 
    
    相關問題