簡體   English   中英

如何在Jquery中訪問控制器動作結果?

[英]How to access controller action result in Jquery?

我正在為多級菜單編寫代碼。 主菜單即一級菜單在頁面加載中被加載。 單擊主菜單子級菜單中的項目。 sulevel菜單中的項目由控制器中的動作結果創建。 由於它是n級子菜單,因此我使用jquery來填充子菜單。

以下是主菜單的代碼,這是一個簡單的列表

    <ul>
    <li><a href="#" >item1</a>
    <li><a href="#">item2</a> </li>
    <li><a href="#">item3</a></li>
    <li><a href="#">item4 </a></li>
    </ul>

以下是控制器的操作結果,該控制器返回給定ID的菜單項的子項。

     public PartialViewResult SubItems(int id)
    {

            MyQueries obj = new MyQueries();
            ViewData["SubCategories"] = obj.getChildCategories(id);
            ViewData["Services"] = obj.getServices(id);
            return PartialView();


    }

我希望上面的細節給你一個主意,我想編寫一個jQuery代碼,anchor的click事件。它接收作為項目文本的參數,並使用控制器並創建子菜單。 例如,用戶單擊item1,jQuery代碼應將“ item1” ID發送給返回子項的控制器。然后,代碼應創建具有子項的UL II列表。 我希望我說清楚了

我將使用jquery ajax執行get請求,並確保指定它從服務器接受的數據類型:

$('#anchorid').click(function() {
var returnData = $.ajax({ url: @Url.Action("subitems"),
type: "GET",
dataType: "json",
data: {"id": this.attr("id"),
});
//TODO:  build your list using returnData object

});

該代碼遠非完美,但應該使您了解如何使用Ajax返回請求。 請注意,如果要使用此技術,則不應返回服務器上的局部視圖,而應返回AJAX期望的任何對象類型。 以下是jQuery AJAX請求的參考資料: http : //api.jquery.com/jQuery.ajax/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM