ASP.NET MVC с помощью jQuery - PullRequest
       2

ASP.NET MVC с помощью jQuery

0 голосов
/ 30 ноября 2009

Я сейчас пытаюсь получить список объектов из моей базы данных с помощью jQuery. Я пытался использовать getJSON, но обратный вызов никогда не срабатывает. Однако, если я использую

$.post(url, data, callback)

... тогда, похоже, стреляет просто отлично.

Мои действия контроллера таковы:

public ActionResult GetTemplates()
{
    IEnumerable<Template> templates = TemplateDAO.GetTemplates();
    List<TemplateViewModel> jsonTemplates = new List<TemplateViewModel>();

    foreach(Template t in templates)
    {
        TemplateViewModel tvm = new TemplateViewModel(t.ID, t.TemplateName);
        jsonTemplates.Add(tvm);
    }

    return Json(jsonTemplates.ToList());

}

и TemplateViewModel:

public class TemplateViewModel
{
    public int ID {get; set; }
    public string TemplateName {get; set; }
}

Я пытаюсь использовать JavaScript:

    function LoadTemplates() {
        alert("loading templates");
        var url = '<%= Url.Action("GetTemplates", "Project") %>';

        $.getJSON(url, null, function(data) {
            alert("Succeeded" + data);
        });

    }

Этот javascript по какой-то причине не показывает предупреждение "Успешно", тогда как замена вызова getJSON на

$. Post (url, null, updateTemplates, 'json');

работает.

Есть идеи?

Теперь, когда работает $ .post, это более любопытно, но я хотел бы знать, что я делаю неправильно, так как каждый пример, который я видел, выглядит точно так же, как мой!

Приветствия

Chris

1 Ответ

2 голосов
/ 30 ноября 2009

Попробуйте это:

return Json(jsonTemplates.ToList(), JsonRequestBehavior.AllowGet);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...