Сохранение данных в базу данных с использованием AJAX - PullRequest
0 голосов
/ 07 июня 2018

У меня есть страница, которая содержит форму, и когда пользователь отправляет форму, я хочу сохранить данные в моей базе данных с использованием Ajax, но я получаю ошибку

POST http://localhost:xxx/Account/ProcessRequestRMA 500 (Внутренняя ошибка сервера)

я что-то пропустил ?!Кто-нибудь может, пожалуйста, указать мне в правильном направлении?!
спасибо.

Контроллер:

[HttpPost]
public JsonResult ProcessRequestRMA(int? id ,string kundenavn, string ordrenummer)
{


    var SaveDb = db.RMA_History.Where(a => a.Id == id).FirstOrDefault();

    if (SaveDb == null)
        db.RMA_History.Add(new RMA_History
        {   
            Kundenavn = kundenavn,
            Ordrenummer = ordrenummer,
        });

    db.SaveChanges();

    return Json(SaveDb, JsonRequestBehavior.AllowGet);
}

AJAX:

<form id="RMAForm">

<input name="Ordrenummer" id="Ordrenummer" type="text" >

<input name="Kundenavn" id="Kundenavn" type="text" >

//id
<input type="hidden" name="RMAID"  id="RMAID" />

<button id="btn" type="submit">Send</button>

</form>

<script>
    $(document).ready(function () {

        $("#btn").click(function (e) {


            e.preventDefault();

            var kundenavn = $("#Kundenavn").val();
            var ordrenummer = $("#Ordrenummer").val();
            var id = $("#RMAID").val();

            $.ajax({
                type: 'POST',
                url: "/Account/ProcessRequestRMA",
                dataType: 'json',
                data: {

                    kundenavn: kundenavn,
                    ordrenummer: ordrenummer,
                    id : id

                },

                success: function (status) {
                    if (status == null) {
                        status.Kundenavn = kundenavn;
                        status.Ordrenummer = ordrenummer;

                    }
                    else {
                        alert("Try Again");
                    }
                },

                error: function () {
                    console.log('something went wrong - debug it!');
                }
            });


        });


    });
</script>

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Прежде всего, необходимо определить деталь, которая вызывает ошибку.Я думаю, что вы получаете эту ошибку из-за вашего кода БД.Пожалуйста, прокомментируйте код БД, а затем запустите его.Надеюсь, это сработает.если это так, выясните, в чем заключается ошибка в коде БД, путем отладки.Ошибка базы данных может быть вызвана множеством причин, одной из которых может быть идентификатор столбца в базе данных, который не может быть равен нулю.

   [HttpPost]
   public JsonResult ProcessRequestRMA(int? id ,string kundenavn, string ordrenummer)
   {


//var SaveDb = db.RMA_History.Where(a => a.Id == id).FirstOrDefault();

//if (SaveDb == null)
//    db.RMA_History.Add(new RMA_History
//    {   
//        Kundenavn = kundenavn,
//       Ordrenummer = ordrenummer,
//   });

// db.SaveChanges();

return Json(true, JsonRequestBehavior.AllowGet);
}
0 голосов
/ 07 июня 2018

Разве это не должно быть

var kundenavn = $("#kundenummer").val();
var ordrenummer = $("#Ordrenummer").val();

?

Полагаю, что из-за неверного идентификатора javascript падает на

$("#kundenavn ").val()

из-за неопределенного элемента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...