#jquery #asp.net #ajax
Вопрос:
Пытаюсь научиться asp.net и в нескольких примерах я вижу этот URL-адрес «getData» при попытке захватить данные таблицы SQL. Может ли кто-нибудь объяснить, откуда взялся этот URL-адрес и как примеры получили этот URL-адрес? Это находится в asp.net проект.
<script type="text/javascript">
$(document).ready(function () {
$('#dataTable').DataTable({
"ajax": {
"url": "/Home/GetData",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "Name" },
{ "data": "Position" },
{ "data": "Office" },
{ "data": "Age" },
{ "data": "Salary" }
]
});
});
</script>
Ответ №1:
Этот URL-адрес получен из контроллера ASP .NET, Там сделан домашний контроллер, где создана функция JsonResult, которая возвращает информацию Json с помощью метода GET, Есть лучший способ использовать jQuery/Ajax getData
$.ajax({
url: '/Home/GetData',
method: 'GET',
data: {
'Id': id
},
success: function(response) {
$('#dataTable').html(`
<table>
<thead>
<tr><th>Name</th></tr><tr><th>Position</th></tr><tr><th>Office</th></tr>
<tr><th>Age</th></tr><tr><th>Salary</th></tr>
</thead>
<tbody>
<tr><th>${response.Name}</th></tr><tr><th>${response.Position}</th></tr><tr><th>${response.Office}</th></tr>
<tr><th>${response.Age}</th></tr><tr><th>${response.Salary}</th></tr>
</tbody>
</table>
`);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
я использовал данные: {‘Id’: id}, потому что, когда он отправляет запрос на серверную часть, ему нужен идентификатор человека, который должен вернуться со специальными данными.
и ваш внутренний метод getData выглядит так
public JsonResult GetData(int id) {
person personIndfo = db.persons.Where(x => x.Id == id).First();
return Json(personIndfo, JsonRequestBehavior.AllowGet);
}
человек-это класс, я создал пустой класс человека с именем PersonInfo, в который я вставил информацию о человеке из базы данных, идентификатор которой равен идентификатору, который я отправляю обратно.
поэтому после того, как такой человек появится, он успешно вернется в Ajax на «успех: функция (ответ)».