ajax发布到错误的控制器

时间:2013-01-31 11:55:11

标签: ajax razor asp.net-mvc-4

我试图在片段控制器上调用动作评论,但由于某种原因,ajax调用会调用家庭控制器上的索引操作。

Ajax调用

$(".test").click(function (evt) {

    var urlData = $(this).attr("href");
    var url = urlData.split("?")[0];   //URL is /snippet/comment?comID=2
    var commentID= urlData.split("=")[1] //

    $.ajax({
        Url: url,
        type: 'Get',
        date: { comID: commentID},
        success: function (data) {
            $("#Comments").html(data);
        }
    });
    evt.preventDefault();
});

路线

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id =    UrlParameter.Optional }
        );

1 个答案:

答案 0 :(得分:1)

您有拼写错误,Url应以小写u开头。另外date应为data

$.ajax({
    url: url,
    type: 'GET',
    data: { comID: commentID },
    success: function (data) {
        $("#Comments").html(data);
    }
});

顺便说一下,所有字符串分裂的东西可能都是无用的。你为什么不简单地使用你是AJAXifying的锚的网址:

$('.test').click(function (evt) {
    $.ajax({
        url: this.href,
        type: 'GET',
        success: function (data) {
            $('#Comments').html(data);
        }
    });
    evt.preventDefault();
});