2011-01-13 9 views
0

새 레코드를 추가하려면 도구 모음 단추가있는 EditorGridPanel이 있습니다. 하나의 시나리오를 제외하고는 모두 잘 작동합니다. 이미 데이터베이스에있는 레코드를 삽입 할 때, 서버는 다시 보냅니다ExtJs. JsonStore.insert() 예외가 발생합니다

하지만 그리드 { "성공"거짓 "메시지": {}, "데이터", "이미"} 빨간색 삼각형으로 표시된 새 행을 만듭니다. 그 후에 데이터베이스에 존재하지 않더라도 새 레코드를 삽입하려고하면 서버 측에서 모든 것이 잘 작동하지만 방화 광에서 '잡히지 않는 예외'가 발생합니다. 그것은 말합니다 : '잡히지 않는 예외 : Ext.data.DataReader : #realize가 잘못된 원격 데이터로 호출되었습니다. DataReader # 문서를보고 DataReader 구성을 확인하고 검토하십시오. '

왜 그런가요?

나는 것을 발견했다 편집 : 내가 서버에 매개 변수 '데이터'로 POST 요청을 보냅니다 삽입 방법을 사용하여 새 레코드를 삽입 할 때 (인코딩이 참, listful가 true) :

데이터 [{ "이름": "123"}]

그것은 가져옵니다

{ "성공"사실, "데이터": { "PositionId": "eef1d9f3-9fdf-4b87-9f6c- ef42231f4fed ","Name ":"123 "}} 서버에서

그 후 515,

나는 같은 이름의 항목을 만들려고 : 데이터 [{ "이름": "123"}]

그래서 난이 얻을 : { "성공"거짓, "메시지": " 이미 존재합니다 ","데이터 ": {}} 서버에서.

내가 가게가 보내는 올바른 항목을 만들려고 다음에이 개 항목 데이터 [{ "이름": "1234"}, { "이름": "123"}]와 배열

하지만 서버 (가장 최근) 항목 만 생성하고 다시 전송합니다. { "success": true, "data": { "PositionId": "1ff05c7f-d5fc-41cd-81f3-faabc225b2a6", "Name": "1234"}}

그래서 저장소에서 서버에 2 개의 항목을 만들지 만 하나만 보내면 오류가 발생할 수 있습니다. 어떻게 처리할까요? 실패한 품목에 대한 요청을 다시 보내지 않도록 저장소를 만들 수 있습니까?

답변

관련 문제