Я очень новичок в MVC, и у меня есть вопрос о вызовах MVC/AJAX.AJAX JQuery MVC5 404 error
Я пытаюсь получить данные обратно из MVC контроллер, но он продолжает говорить, что 404 ошибка
"NetworkError: 404 Not Found - http://localhost:6481/MDT/Detail?id=4935"
Мой вызов Javascript является, как показано ниже, и я жёстко ID: 1245 в качестве теста. Я пытался переключить POST и GET, но все-таки не повезло
$.ajax({
type: "GET",
url: 'MDT/Detail',
data: JSON.stringify({
id: 1245
}),
contentType: "application/json",
dataType: "JSON",
success: function(data) {
console.log(data);
},
fail: function(data) {}
});
Я пробовал без JSON.stringify и ошибка все та же (404)
$.ajax({
type: "GET",
url: 'MDT/Detail',
data: {
id: 1245
},
contentType: "application/json",
dataType: "JSON",
success: function(data) {
console.log(data);
},
fail: function(data) {}
});
Ниже приведен код в контроллер ..
[Route("MDT/Detail/{id}")]
public JsonResult Detail(int? id)
{
ITS.Models.ComputerDetail cp = GetDataFromDatabase(id.Value);
return Json(cp, JsonRequestBehavior.AllowGet);
}
Я проверил в Firebug и параметры передаются правильно следующим образом:
Я не мог понять, что я сделал неправильно. Не могли бы вы помочь мне с этой ошибкой?
Если я использовал (http://localhost:6481/MDT/Detail/1245), он отлично работает и возвращает объект JSON, но я не мог назвать этот метод MVC из JQuery AJAX.
Если вы не stringify (и нет необходимости), то вам необходимо удалить 'CONTENTTYPE: "приложения/JSON",' –
'URL:«/ MDT/Detail ', 'Вы можете попробовать добавить'/'ведущую косую черту перед MDT. – Jai
И используйте 'url: '@ Url.Action (" Detail "," MDT ")',' так что вы создаете правильный URL-адрес, который будет '/ MDT/Detail' –