Ajax ПОЛУЧАЕТ Asp.net Значение MVC не отображается

#jquery #ajax #asp.net-mvc #ado.net

#jquery #ajax #asp.net-mvc #ado.net

Вопрос:

Я пытаюсь использовать GET Ajax для извлечения данных, вызывая их идентификатор из двух таблиц, в которых есть соединение. Он уже содержит данные в контроллере, но не может отображать данные. Это выдает «ошибку» и HTTP500: ОШИБКА СЕРВЕРА в консоли. Как я должен это исправить?

Контроллер

     public ActionResult GetData(int? id)
        {

           List<Quest> quizz = (from material in db.MaterialLearnings
                                 join quiz in db.Quests on material.id equals quiz.IdMaterial
                                 where material.id == id
                                 select quiz).ToList<Quest>();
                         
            return Json(quizz, JsonRequestBehavior.AllowGet);
        }
  

AJAX ПОЛУЧАЕТ

 function beginQuiz(id) {
    console.log(id)
    $.ajax({
        type: "GET",
        url: "Home/GetData/"  id,
        dataType: "json",
        data: {},
        success: function (data) {
            start.style.display = "none";
            getQuestion(data);
            quiz.style.display = "block";
        },
        error: function () {
            console.log("error");
        }
    });
   
}

  

Комментарии:

1. Вы пробовали использовать либо "Home/GetData/?id=" id или data: {id: id},

2. Я пробую, но все равно не работает

3. Когда вы пытались data: {id: id} , вы удалили id из `url: «Home/ getData/» id,`?

4. У вас есть [Route] настроенный для соответствия id (может быть, по умолчанию)? Или используйте ?id= , как предложено выше

5. согласно вашему коду, я вижу, что ваш URL-адрес должен быть «/ Home / getData» вот так, без «/» требуется «Home / Home / getData», поэтому попробуйте использовать этот URL: «/ Home / getData /» id