2010-06-22 96 views
0

我有一個初學者級別的Json問題與MVC.net(我從來沒有真正使用過jQuery或JSON)所以請原諒我,如果我問一些愚蠢的東西。MVC.net noob關於Ajax和Json的問題

我有以下的JavaScript文件

<script> 
    function refreshMovies() { 
     //$.getJSON("/Home/Refresh", showMovies); 
     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      url: "/Home/Refresh", 
      success: showMovies 
     }); 
    } 

    function showMovies(movie) { 
     var frag = "<ul>"; 
     frag += "<li>" + movie[0] + " - " + movie[1] + "</li>"; 
     frag += "</ul>";   
     alert(frag); 
     $("#divMovies").html(frag); 
    } 
</script> 

我的首頁控制器是這樣的:

public ActionResult Refresh() 
{    
     return Json(GetMovies()); // Method Returns IList<Movies> 
} 

我的問題是關於警報FRAG當UL顯示在頁面始終爲空。

但是,螢火蟲確實顯示發佈的請求正在返回json,所以showMovies()可能有問題?

回答

0

你說螢火蟲報告你正確得到你的JSon,否則我會問你是否用[HttpPost]裝飾了這個動作,因爲你正在使用POST方法。

alert()當前是否顯示正確的HTML?如果是這樣,那麼div是否具有id =「divMovies」屬性(注意,這裏沒有#字符!)。

否則,請嘗試移動showMovies頂部的alert():它是否顯示任何內容?

+0

我可能是錯的,但只需要對動作進行修飾,如果我想限制某些html動作的方法,所以它應該仍然有效。 警報基本上只是顯示 「

    」 的divMovies DIV的樣子:
    asn1981 2010-06-22 09:19:14

    +0

    OK,儘量提醒()返回的JSON(警報(電影)),看看它打印... – Palantir 2010-06-22 09:21:41

    +0

    [對象的對象] Firebug jSon就像: {「Movie」:{「Title」:「The something」,「Director」:「john smith」}} – asn1981 2010-06-22 09:31:32