Как правильно получить ответ ajax? - PullRequest
0 голосов
/ 19 февраля 2019

Я изучаю C # и JQuery AJAX.В настоящее время у меня проблема, когда я не могу заставить Ajax работать правильно, и я не уверен, почему.

Вот журнал ошибок:

Не удалось загрузить ресурс: серверответил со статусом 500 (Внутренняя ошибка сервера)

Вот мой код:

HTML

<button class="btn btn-primary btn-edit" id="{{SubjectId}}" id1=" 
{{StudentId}}" >Edit</button>

JavaScript AJAX-код:

$('.btn-edit').off('click').on('click', function () {
        $('#editModal').modal('show');
        var id = parseInt($(this).attr('id'));
        var id1 = parseInt($(this).attr('id1'));
        ExamsController.LoadDetail(id, id1);
    });

LoadDetail: function (id, id1) {
    $.ajax({
        url: '/Exams/LoadDetail',
        type: 'GET',
        data: {
            id : id,
            id1 : id1
        },
        dataType: 'json',
        success: function (response) {
            console.log(response.status);
            if (response.status == true) {
                var data = response.data;
                $('#txtSubjectName').val(data.Subject.SubjectName);
                $('#txtStudentName').val(data.Student.StudentName);
                $('#numScore').val(data.Score);
            } else {
                alert("Error!")
            }
        },
        Error: function (err) {
            console.log(err);
        }
    });
},

И ExamsController

[HttpGet]
public JsonResult LoadDetail(int id, int id1)
{
    bool status = false;
    Exam exam = new Exam();
    exam = db.Exams.Find(id, id1);
    status = true;

    return Json(new
    {
        data = exam,
        status = status
    }, JsonRequestBehavior.AllowGet);
}

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Не должно ли это закончиться как?

'/Exams/LoadDetail.php'
0 голосов
/ 19 февраля 2019

Внутренняя ошибка сервера означает, что у вас есть ошибка в скрипте C #, пожалуйста, проверьте журналы ошибок дважды.А также ваш код не самый чистый, пропуская точки с запятой.Попробуйте добавить точки с запятой, добавьте имя к функции и проверьте журнал ошибок, это может быть полезно, мы можем сделать лучший ответ.Может быть, попробуйте этот код с точкой с запятой :):

$('.btn-edit').off('click').on('click', function () {
        $('#editModal').modal('show');
        var id = parseInt($(this).attr('id'));
        var id1 = parseInt($(this).attr('id1'));
        ExamsController.LoadDetail(id, id1);
    });

LoadDetail: function (id, id1) {
    $.ajax({
        url: '/Exams/LoadDetail',
        type: 'GET',
        data: {
            id : id,
            id1 : id1
        },
        dataType: 'json',
        success: function (response) {
            console.log(response.status);
            if (response.status == true) {
                var data = response.data;
                $('#txtSubjectName').val(data.Subject.SubjectName);
                $('#txtStudentName').val(data.Student.StudentName);
                $('#numScore').val(data.Score);
            } else {
                alert("Error!");
            }
        },
        Error: function (err) {
            console.log(err);
        }
    });
},

Спасибо!

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