JQuery 未调用 asp.net MVC 中的控制器

JQuery not calling controller in asp.net mvc

本文关键字:控制器 MVC net 调用 asp JQuery      更新时间:2023-09-26

我正在尝试使用 jquery 从视图调用控制器。 但是它从不调用控制器。

我在MVC 4应用程序中有一个Umbraco 7.1.2网站 asp.net。

我的简斯

var dp = jQuery;
dp.noConflict();
dp(document).ready(function() {
    GetTestimonials();
});
function GetTestimonials() {
   dp.ajax({
        type: 'GET',
        url: '/Home/GetTestimonialsList',
        cache: false,
        success: function (data) {
            dp.each(data, function (index, val) {
                alert(val.Name + val.Comment + val.Date);
            });
        },
        error: function () {
            alert("error");
        }
    });
}

然后我的控制器

[HttpGet]
public JsonResult GetTestimonialsList()
{
     var model = _spdb.TestimonialDetails.Where(t => t.Status == Enums.TestimonialsStatus.approved).Select(t => new { t.Comment, t.Name, t.Date});
     return Json(model, JsonRequestBehavior.AllowGet);
}

我在控制器上放了一个断点,它从未被调用过。

在浏览器上,jquery没有引发任何错误。

但是,当页面加载时,它总是触发警报("错误")。

我调用了console.log("test");它显示在浏览器调试中。

在同一页面上,我正在使用jquery向控制器发布表单,它完全没有问题。

来自数据库的查询为我提供了正确的数据。

我做错了什么?

多谢

好的,找到了解决方案。我将 URL 更改为 url: '/umbraco/surface/home/GetTestimonialsList' ,并且工作正常。

试试这个。你正在返回智商。

[HttpGet]
public JsonResult GetTestimonialsList()
{
     var model = _spdb.TestimonialDetails.Where(t => t.Status == Enums.TestimonialsStatus.approved).Select(t => new { t.Comment, t.Name, t.Date}).ToList();
     return Json(model, JsonRequestBehavior.AllowGet);
}