循环使用JSON返回的列表

时间:2014-09-01 07:32:24

标签: jquery ajax json

嗨,我是MVC的新手,这是我的问题...... 我将以下列表中的内容发送到我的视图中" return JSON(); "

    public static List<SelectListItem> Foodlist = new List<SelectListItem>()
    {         
        new SelectListItem() {Text = "Pitzza",Value="1"},
        new SelectListItem() {Text = "Sandwich",Value="2"},
        new SelectListItem() {Text = "Other",Value="3"}
    };

我通过ajax调用收到它。

然后在我看来我想使用&#34; Text&#34;的值。和&#34;价值&#34;财产(在同一个ajax电话中)......但我不能。 我试图警告&#34; data.property&#34;或使用&#34; $。每个&#34; &#34; for&#34;循环,但我无处可去。

更新:

    $.ajax({
                Type: "Post",
                url: "@Url.Action("Foodselector", "Order")",
                contenttype: "application/json ; charset=UTF-8",
                datatype: "JSON",
                data: { TypeID: $("#SelectedFoodType").val() },
                complete:
                    function (data) {

                       // Here i wana use the list//
                    }                    
                });

这是行动:

    public ActionResult Foodselector(int TypeID)
    {
        if (TypeID == 1)
        {
            return Json(Food.ViewModel.OrderViewModel.Foodlist, JsonRequestBehavior.AllowGet);
        }
        else if(TypeID == 2)
        {
            return Json(Food.ViewModel.OrderViewModel.Drinklist, JsonRequestBehavior.AllowGet);
        }
        if (TypeID == 3)
        {
            return Json(Food.ViewModel.OrderViewModel.Dessertlist, JsonRequestBehavior.AllowGet);
        }
        else
        {
            return Json(3,JsonRequestBehavior.AllowGet);
        }

1 个答案:

答案 0 :(得分:1)

如果您想捕获错误,请不要使用complete功能,您需要使用successerror方法

检查这个

 $.ajax({
                Type: "Post",
                url: "@Url.Action("Foodselector", "Order")",
                contenttype: "application/json ; charset=UTF-8",
                datatype: "JSON",
                data: { TypeID: $("#SelectedFoodType").val() },
                complete:
                    function (data) {

                           alert('complete');

                    },
                success: function(data){  

                    alert('success');

                },
                error: function(XMLHttpRequest, textStatus, errorThrown) { 

                    alert("Status: " + textStatus); alert("Error: " + errorThrown); 

                }                     
                });

现在您可以知道什么是错误以及它来自哪里