홈>
AJAX를 처음 접했을 때이 문제가 발생하여 문제를 해결하지 못했습니다. 나는 아약스 게시물이 객체를 검토하기 위해 테이블을 새로 고치기를 원했다. 내가 시도한 모든 것은 쓸데없는 것이었다.
OnPost()
를 게시하지 않기 위해 ajax 응답이 JSON 결과라고 가정하십시오.
암호.
아약스를 사용하여 제품의ID를 보낸 다음 해당ID를 사용하여 제품을 제거합니다.
그런 다음 동일한 메소드
OnGet()
를 호출합니다.
업데이트 된 목록을 반환하는 테이블을 채우는 데 사용합니다. 크롬 디버그 도구에서 업데이트 된 목록과 함께 응답이 성공적으로 반환됩니다. 내 목록으로 다시 가져 오는 방법을 모르겠습니다. 미리 감사드립니다.
@Html.AntiForgeryToken()
<table id="shoppingBag" class="table">
<thead>
<tr>
<th scope="col">Item</th>
<th scope="col">Price</th>
<th scope="col">Quantity</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.ShoppingBagItems)
{
<tr>
<td>
@item.Product.Name
</td>
<td>
@item.Price.ToString("C")
</td>
<td>
<input value="@item.Quantity" size="1" maxlength="1" class="text-center" />
</td>
<td>
<button onclick="remove(@item.Product.Id.ToString())" class="close">
<span aria-hidden="true">×</span>
</button>
</td>
</tr>
}
</tbody>
</table>
<script>
function remove(id) {
$.ajax({
type: 'POST',
url: 'ShoppingBag?handler=Delete',
headers: {
"XSRF-TOKEN": $('input:hidden[name="__RequestVerificationToken"]').val()
},
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: ''+id+'',
sucess: function (response) {
append_json(response);
}
});
}
function append_json(data){
var table = document.getElementById('shoppingBag');
data.forEach(function(object) {
var tr = document.createElement('tr');
tr.innerHTML = '<td>' +
object.product.name +
'</td>' +
'<td>' +
object.price +
'</td>' +
'<td>' +
object.quantity +
'</td>';
table.appendChild(tr);
});
}
</script>
- 답변 # 1
- 답변 # 2
변경 :
var table = document.getElementById('shoppingBag');
to :
var table = $('#shoppingBag tbody');
그리고
변경 :
table.appendChild(tr);
to :
table.append(tr);
- 답변 # 3
데이터를 메인
<table>
에 추가하고 있습니다 표를 검사하면 추가 된 html.을 볼 수 있지만표본문에 데이터를 추가해야합니다. 이를 위해 당신은$("#shoppingBag tbody").append(tr);
를 사용할 수 있습니다또는
<body>
에id를 추가 할 수 있습니다<tbody id="myTestTableBody">
처럼 이것을 JavaScript로 사용하십시오function append_json(data){ var table = document.getElementById('myTestTableBody'); data.forEach(function(object) { var tr = document.createElement('tr'); tr.innerHTML = '<td>' + object.product.name + '</td>' + '<td>' + object.price + '</td>' + '<td>' + object.quantity + '</td>'; table.appendChild(tr); }); }
기존 테이블에 데이터를 추가하는 방법을 보여주는 샘플 코드를 추가했습니다
var page=1; function AddData() { $.ajax({ url: "https://reqres.in/api/users?page="+page, type: "GET", success: function(response){ append_json(response.data); } }); page++; } function append_json(data){ data.forEach(function(object) { var tr = document.createElement('tr'); tr.innerHTML = '<td>' + object.first_name + '</td>' + '<td>' + object.last_name + '</td>' + '<td>' + '<img src ='+object.avatar +' width="50px" height="50px" />'+ '</td>'; $("#shoppingBag tbody").append(tr); }); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="button" value="Add Data" onclick="AddData()"> <table id="shoppingBag" class="table"> <thead> <tr> <th scope="col">Item</th> <th scope="col">Price</th> <th scope="col">Quantity</th> </tr> </thead> <tbody> </tbody> </table>
관련 자료
- java - ObjectAnimation 후에 View를 잠그는 방법은 무엇입니까?
- javascript - 내 양식을 ajax에 연결하고 게시하려면 어떻게해야하나요?
- dart - 다시 시작할 때 플러터 앱이 핫 리로드 후 홈 페이지를 표시하지 않음
- javascript - 알림이 완전히 완료된 후 페이지 새로 고침
- flutter : ListView가 프로그래밍 방식으로 스크롤 가능한지 여부를 어떻게 알 수 있습니다
- javascript - Ajax를 사용하여 뷰에서 컨트롤러 laravel로 데이터를 보내는 방법은 무엇입니까?
- linux - WLAN에 연결된 장치의 모든 IP를 보려면 어떻게해야합니까?
- angular - HTML에서 3 번 클릭 한 후 div를 숨기는 방법
- terminal - Tig 검색보기를 종료하는 방법은 무엇입니까?
- java - 뷰를 Y 위치에서 다른 Y로 이동하려면 어떻게해야합니까?
- javascript - 각 p 뒤에 시간을 추가하는 방법은 무엇입니까? 루프 사용
- javascript - ajax가 완료되기를 기다리는 방법
- java - 원형보기 pager2를 만드는 방법은 무엇입니까?
- clickhouse - ClickHous에서 수학보기의 이름을 바꾸는 방법
- ios - SwiftUI에서 목록의 일부로 View ()를 전달하는 방법은 무엇입니까?
관련 질문
- javascript : 계산을 수행하고 결과를 반환하고 node.js의 동일한 페이지에 렌더링하려고 하는데 마지막 부분을 파악할 수 없습니다.
- javascript : 중첩 Ajax 호출 문제
- javascript : 내 래퍼 배경 이미지가 표시되지 않습니다
- javascript : 체크박스를 지우고 자바스크립트를 로드하는 텍스트 영역
- javascript : aspnet core mvc, HTML에서 모든 유형의 파일을 미리 보는 방법은 무엇입니까?
- javascript : 플러터 웹에서 방향을 가로로 설정하는 방법은 무엇입니까?
- javascript : 라이트 모드 다크 모드 토글
- javascript : 템플릿 문자열에 두 개의 인수를 추가하는 방법
- 첨부 파일이 있는 HTML/JavaScript mailto(또는 대안)
- javascript : 입력 값 html 및 js 추출
이
append_json(response);
후 Ajax 성공 방법 아래 코드를 추가하여 테이블을 새로 고침