Я сейчас пытаюсь получить список объектов из моей базы данных с помощью 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