2013-11-29 3 views
0

Я новичок в ajax, и я пытаюсь вернуть список объектов сущности через ajax. Когда я делаю это со строкой, он работает успешно.Возврат списка объектов сущности из ajax

мой Аякса код:

$.ajax({ 
    type: "POST", 
    url: "/MemberPages/AdminPages/AddProduct.aspx/GetList", 
    data: '{"categoryId":' + $('#<%=ddlCategory.ClientID %> option:selected').val() + '}', 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (msg) { 
     var cats = msg.d; 
     $.each(cats, function (index, cat) { 
      alert(cat); 
     }); 
    }, 
    error: function (XMLHttpRequest, textStatus, errorThrown) { 
     alert("Status: " + textStatus); alert("Error: " + errorThrown); 
    } 
}); 

мой код, который возвращает строку:

[WebMethod] 
public static List<String> GetList(int categoryId) 
{ 
     List<String> catlist = new List<String>(); 
     IQueryable<SubCategory> clist = new ProductsBL().GetSubCategories(categoryId); 

     foreach (SubCategory c in clist) 
     { 
      catlist.Add(c.Name.ToString()); 
     } 

     return catlist; 
} 

мой код, который дает ОШИБКА 500 внутренний сервер

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public static List<SubCategory> GetList(int categoryId) 
{ 
     List<SubCategory> catlist = new List<SubCategory>(); 
     IQueryable<SubCategory> clist = new ProductsBL().GetSubCategories(categoryId); 

     foreach (SubCategory c in clist) 
     { 
      catlist.Add(c); 
     } 

     return catlist; 
} 

Спасибо за любую помощь, как Я потратил немало времени, пытаясь обернуть вокруг себя голову.

ответ

0

Я думаю, вы должны удалить внешние кавычки на «данные» в JQuery называют

data: {categoryId: $('#<%=ddlCategory.ClientID %> option:selected').val() }, 

В противном случае вы передаете строку, а не предполагаемый запрос составлен параметр называется CategoryId и значной извлеченные из выбранный вариант

+0

Я пробовал так, как вы мне сказали, но он по-прежнему дает мне внутреннюю ошибку сервера. –

Смежные вопросы