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

时间:2014-06-18 04:11:54

标签: jquery ajax asp.net-mvc

我的代码总是在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");

    }

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

1 个答案:

答案 0 :(得分:1)

如果我没弄错,你的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);
            }
        });
    });
});