#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