调用ajax post方法时出现内部服务器错误

时间:2019-05-15 12:53:33

标签: c# jquery asp.net-mvc

我在调用ajax POST方法时遇到问题,它只是返回错误并显示消息:Internal Server Error。

我的脚本如下:

$('.add-column').click(function () {

    var ids = [];

    $('#table1 > tbody > tr.selected').each(function () {

        var ident = $(this).attr('id');
        ids.push(ident);
    });

    $.ajax({
        url: '/Syzyf/AddUserColumns',
        type: 'POST',
        contentType: "application/json; charset=utf-8",
        data: { id : JSON.stringify(ids) },
        cache: false,
        success: function (result) {

        },
        error: function (xhr, status, error) {
            console.log(error);
        }
    });
});

以及控制器的方法:

[HttpPost]
public ActionResult AddUserColumns(List<int> ids)
{ 
    var userId = GetUserId(User.Identity.Name);

    using (var ctx = new SyzyfContext())
    {
        foreach (var id in ids)
        {
            var uc = new UserColumns();
            uc.ColumnId = id;
            uc.UserId = userId;

            ctx.UserColumns.Add(uc);
        }

        ctx.SaveChanges();
    }

    return Json("Success");

}

我认为data可能有问题,但是当我更改了在id中调用aajax函数foreach ids的方法时,它返回了相同的错误。我该怎么办?

编辑

我找到了解决方法。

问题出在数据库表上,它没有PRIMARY KEY ...

0 个答案:

没有答案