我的代码总是在Ajax中返回错误函数,但是数据到达数据库

我的ajax代码:

$(document).ready(function () {
    $("#sub").click(function c() {
        var datax = $("#text").val();

        var dat = datax.toString();
        alert(dat);
        $.ajax({
            type: "POST",
            url:"commentering",
            data: dat,
            success: function (da) {
                alert(da);

                var a = $("<input type='text'>").val(da);

                $("#body").append(a);
            },

            error: function (error) {
                alert('error; ' + eval(error));
            }
        });
    });
});


我的控制器:

[HttpPost]
    public ActionResult commentering(FormCollection f)
    {

        Random rad = new Random();
        comment c = new comment();
        c.id = rad.Next(15151);

        c.comments = f.Get(0).ToString();
        if (ModelState.IsValid)
        {
            db.comments.Add(c);
            db.SaveChanges();
            return Json(c.comments);
        }
        return Json("errorx");

    }


它调用控制器,但仍无法成功执行。它曾经工作过一次,但现在导致错误。

最佳答案

如果我没记错的话,您的jQuery代码应如下所示:

$(document).ready(function() {
    $("form").submit(function( e ) {
        e.preventDefault();
        $.ajax({
            type: "POST",
            url:"commentering",
            data: $(this).serialize(),
            success: function(da) {
                alert(da);
                var a = $("<input type='text'/>").val(da);
                $("body").append(a);
            },
            error: function(x, s, e) {
                alert('error: ' + s + ' -- ' + e);
            }
        });
    });
});

10-08 08:04
查看更多