데이터 테이블 에이잭스 예외 후 사용자 지정 오류 메시지
데이터 표 1.10.12를 사용하여 데이터 표를 표시합니다.사용자는 서버에서 오류를 발생시키는 입력 매개 변수를 지정할 수 있습니다.사용자가 설정을 수정할 수 있도록 적절한 오류 메시지가 표시되어야 하지만, 유일한 오류 옵션은 다음과 같습니다.
- 경고에 다음과 같은 일반 오류를 표시합니다. "DataTables warning: table id=tableTable - Ajax error.이 오류에 대한 자세한 내용은 http://datatables.net/tn/7 을 참조하십시오."
- 브라우저 콘솔에 일반 오류 표시
- 행을 반환하지 않도록 서버를 수정합니다. 즉, 자동으로 실패합니다.
데이터 테이블 Ajax 요청이 실패한 후 사용자 지정 오류를 표시하는 방법을 아는 사람이 있습니까?
다음 코드 샘플은 데이터 테이블 설명서에서 가져온 것입니다.데이터 테이블은 Ajax 호출을 처리하고 성공 및 오류를 처리합니다.
$(document).ready(function() {
$('#example').DataTable( {
"ajax": '../ajax/data/arrays.txt'
} );
} );
제가 목록에 추가할 수 있는 네 번째 옵션은 데이터 테이블 소스 코드를 수정하여 오류 응답을 직접 처리하는 것입니다.저는 별로 좋아하지 않습니다.
이 질문은 2015년에 던졌지만 답을 얻지 못했습니다.참조: 서버 측 예외 표시
agax 속성에 개체를 전달하는 경우 jQuery.ajax() 오류 메서드를 재정의할 수 있습니다.
$(document).ready(function () {
$('#example').DataTable({
ajax: {
url: '../ajax/data/arrays.txt',
error: function (jqXHR, textStatus, errorThrown) {
// Do something here
}
}
});
});
https://datatables.net/reference/option/ajax#object
그러면 의 표준 오류 메시지가 중지됩니다.alert
상자에 담다
jQuery.jax()의 성공 메서드는 DataTables에서 사용되므로 이 메서드를 재정의하지 않는 것이 좋습니다.
아래 예와 같이 사용자 지정 오류 메시지를 전체적으로 구현할 수 있습니다.
$(document).ready(function() {
$.fn.dataTable.ext.errMode = () => alert('Error while loading the table data. Please refresh');
$('#example').DataTable( {
"ajax": '../ajax/data/arrays.txt'
});
});
누군가가 여전히 해결책을 찾고 있을 때를 대비해 대답하는 것.
저의 경우, 저는 다음과 같이 했습니다.
- 서버 측 집합에서
DataTablesOutput
object.setError("ErrorMsg")
- 나의 js 메소드
$.fn.dataTable.ext.errMode = 'none';
실수를 피하기 위해popup
. - 오류가 발생했습니다.
div
내 페이지에서 사용자 지정 오류 메시지를 표시합니다. 오류를 처리하기 위해 아래를 내 js 메소드에 추가했습니다.
$('#myDataTable') .on('error.dt', function(e, settings, techNote, message) {//Logic to set the div innertext }
try {
$.ajax({
-------
-------
success: function (data){
//ShowDataTable is a js Function which takes ajax response data and display it.
ShowDataTable(data);
},
//this error will catch server-side error if request fails
error: function (xhr, textStatus, errorThrown) {
alert(errorThrown);
ShowDataTable(null);
}
})
}
//this catch block will catch javascript exceptions,
catch (Error) {
if (typeof console != "undefined") {
console.log(Error);
ShowDataTable(null);
alert(Error);
}
}
편집
오류를 허용하지만(예: 백엔드 시스템을 변경하여 오류를 수정할 수 없는 경우) 최종 사용자에게 경고() 메시지가 표시되지 않도록 하려면 DataTables의 오류 보고 메커니즘을 변경하여 경고 대신 Javascript 오류를 브라우저의 콘솔에 던질 수 있습니다.이 작업은 다음을 사용하여 수행할 수 있습니다.
$.fn.dataTable.ext.errMode = 'throw';
언급URL : https://stackoverflow.com/questions/38886297/custom-error-message-after-datatables-ajax-exception
'programing' 카테고리의 다른 글
Powershell에서 빈 매개 변수와 설정된 매개 변수를 포함하여 명명된 모든 매개 변수 가져오기 (0) | 2023.09.05 |
---|---|
BeautifulSoup에서 스크립트 태그를 제거할 수 있습니까? (0) | 2023.09.05 |
JSF를 Spring MVC의 뷰 기술로 활용 (0) | 2023.09.05 |
View Pager에서 조각 검색 (0) | 2023.09.05 |
Windows 서버에서 MySQL 데이터베이스 자동 백업 (0) | 2023.09.05 |