문제:
JSON에서 오류를 구문 분석해야 합니다. 응답하고 jqGrid의 대화 상자에 표시합니다. 이상적으로는 그리드에서 "STATUS: 'ERROR'"를 확인하고 이에 따라 모든 오류 메시지를 표시하는 것이 좋습니다.
답변:
HTTP 프로토콜 지침을 따르는 것이 중요합니다. 서버와 클라이언트 사이에서 통신할 때 표준 성공 응답에는 다음이 포함됩니다.
HTTP/1.1 200 OK ... Content-Type: application/json ... {"page":"1",....}
반대로 URL이 없으면 서버 응답은 다음으로 시작됩니다.
HTTP/1.1 404 Not Found
jqGrid는 HTTP 상태 코드에 의존합니다. 서버 응답을 처리하는 방법을 결정합니다. 예를 들어, 404 상태 코드는 그리드가 JSON 데이터 해석을 시도하지 않음을 나타냅니다.
데모 코드:
이 개념을 보여주기 위해:
$("#list").jqGrid({ url: 'Unknown.json', // file with this name doesn't exist datatype: 'json', // ... other relevant parameters loadComplete: function () { alert("OK"); }, loadError: function (jqXHR, textStatus, errorThrown) { alert('HTTP status code: ' + jqXHR.status + '\n' + 'textStatus: ' + textStatus + '\n' + 'errorThrown: ' + errorThrown); alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText); } });
이 코드는 다음 경고를 표시합니다:
사용자 정의 오류 처리:
오류 응답을 다르게 처리하려면 오류 HTTP 상태 코드를 사용할 수 있습니다. 다음은 loadError 구현의 확장 버전입니다.
loadComplete: function () { // remove error div if it exists $('#' + this.id + '_err').remove(); }, loadError: function (jqXHR, textStatus, errorThrown) { // remove error div if it exists $('#' + this.id + '_err').remove(); // insert div with the error description before the grid $(this).closest('div.ui-jqgrid').before( '<div>
이 함수는 기존 오류 div를 제거한 다음 그리드 앞에 새 div를 삽입하여 오류 메시지를 표시합니다. decodeErrorMessage 함수를 사용자 정의하여 원하는 형식으로 오류 메시지를 처리할 수 있습니다.
displayErrorMessage 사용:
무료 jqGrid는 오류 메시지를 표시하기 위한 내장된 displayErrorMessage 메소드를 제공합니다. 그리드 위의 오류 div. 사용자 정의 오류 처리를 사용하기 전에 기본 동작을 테스트하여 요구 사항을 충족하는지 확인하는 것이 좋습니다.
위 내용은 jqGrid에서 서버 측 오류 및 양식 유효성 검사를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!