생성, 삭제 및 업데이트에 대한 응답을 사용할 필요가 없습니다.
예. 생성 작업을 수행하는 경우 데이터를 데이터베이스에 추가하는 "ajax 작업"이 호출됩니다.
지금이 possibilites있다 : 빈 문자열을 의미
- 가 작동 그냥 아무것도 돌려주지 않는
- 를 성공적으로 만들기
- (한 200 응답이있는 jqGrid에 의해 수신 될 때, 모든 것이 괜찮습니다)
- 만들기 작업은
있는 jqGrid가 당신에게 오류 자체를 보여주는 비 200 응답 코드를 수신하는 경우 로 예외를 던져!
try {
// insert something in your db
// ok = true means everything fine
// ok = false means something unpredictable happened
if (!$ok) {
throw new Exception('error');
}
} catch (Exception $e) {
header("Status: 500 Server Error caused by dbinsert jqgrid");
var_dump($e->getMessage());
}
코드 미안하지만 내가 지금 내 머리 나가 빠른 :) 내가 젠드 프레임 워크와 함께있는 jqGrid를 사용했고 ZF는 (기본적으로 예외 적어도 500 개 응답 코드를 사용하여 내 템플릿)
성공적인 업데이트/삭제/생성 후에 전체 jqGrid 데이터를 다시 가져와야합니다.
jQuery("#your_jqgrid_id").jqGrid().trigger('reloadGrid');
다른 메커니즘이 없습니다. (약 6 개월 전, 어쩌면 변경된 것)
오류/성공 처리를 구현하려면 원하는 형식으로 메시지를 정의하고 Ajax 성공 함수 콜백에서 처리하십시오.
더 많은 코드가 필요하고 긴급하지 않다면 내게 의견을 남겨주세요.
추가 조언 하나 : jqGrid를 즉시 이해할 것으로 기대하지 마십시오. 시간을내어 몇 가지 시도해보고 놀아보십시오. 당신이 그것에 익숙해지기까지는 약간의 시간이 걸릴 것입니다.
감사합니다. 인라인 및 양식 편집이 일관되게 작동하지 않지만 꽤 짜증납니다. 인라인 편집은 php가 반환 한 적절한 오류 메시지를 표시하지만 양식 편집은 다른 메시지를 표시합니다. 아직도 이것을 파악하고 자바 스크립트 측면에서 놀아야합니다. 또한 숫자 필드에 문자열을 입력 할 때 때때로 mysql이 실패하는 문제가 발생합니다. 때로는 숫자 필드에 0을 넣습니다. – Superdooperhero
이 문제가됩니다.삽입 된 데이터가 mysql 테이블과 일치하는지 몇 가지 검사를해야한다. 그러나 이것은 아약스 호출에서 할 수 있습니다. 예 : 필드에 숫자 만 넣고 숫자인지 확인하십시오. 내 대답이 너를 만족 시키면 받아 들여라. 스택 오버플로에 대한 대답을 여기에 입력하지 않으면 질문에 대한 답변이 거의 없습니다. (이것은 당신의 입학 금리입니다) – evildead