renderContenOn:
을 호출 한 후 어떻게 페이지의 내용을 업데이트합니까? 페이지가 렌더링되었지만 사용자가 제출 버튼을 클릭하면 콜백이 생겨서 동일한 페이지를 업데이트해야합니다.renderContenOn : 한 번 페이지의 내용을 작은 토큰으로 업데이트하십시오.
감사합니다.
renderContenOn:
을 호출 한 후 어떻게 페이지의 내용을 업데이트합니까? 페이지가 렌더링되었지만 사용자가 제출 버튼을 클릭하면 콜백이 생겨서 동일한 페이지를 업데이트해야합니다.renderContenOn : 한 번 페이지의 내용을 작은 토큰으로 업데이트하십시오.
감사합니다.
동일한 페이지에 머무르는 것이 중요하다면 jQuery 바인딩과 같은 JavaScript 라이브러리 중 하나를 사용하는 것이 좋습니다. 사용 AJAX
당신이 다운로드하거나 Pharo 또는 스퀵을 위해 해변을 설치 한 경우
, 당신은 바로 이미지의 jQuery를 예를 찾을 수 있습니다. 표준 포트를 사용하는 경우 http://localhost:8080/javascript/jquery
또는 http://localhost:8080/javascript/jquery-ui
에서 찾아보십시오. 당신이 이것을 사용하여 예를 들어, 응용 프로그램에 대해 구성된 jQuery를 도서관이 필요
JQAjaxFunctionalTest>> renderContentOn: html
html code id: #logger; with: DateAndTime now.
html paragraph: [
html submitButton
onClick: (html jQuery ajax
script: [ :s | s << (s jQuery: #logger) html: DateAndTime now ]);
with: 'Replace'.
html submitButton
onClick: (html jQuery ajax
script: [ :s | s << (s jQuery: #logger) prepend: DateAndTime now ]);
with: 'Prepend'.
html submitButton
onClick: (html jQuery ajax
script: [ :s | s << (s jQuery: #logger) append: DateAndTime now ]);
with: 'Append' ]
참고 : 예제의
하나는 대체 간단한 AJAX 구성 요소, 또는 현재 페이지 alteres 내용입니다
| application |
"your application, eg, when you register it:
application := WAAdmin register: MyRootComponent asApplicationAt: 'myApp'.
"
application preferenceAt: #scriptGeneratorClass put: JQScriptGenerator.
application addLibrary: JQDeploymentLibrary.
현재 렌더링 된 페이지의 내용을 동적으로 변경하면 충분합니다.
당신이 jQuery를 직접 사용하지 않도록 Ajaxifier 당신이
해변의 jQuery를 바인딩 당신을 위해 아약스 요청으로 일반 전화를 변환 것 ajaxifier을 갖추고 AJAX를 사용하자.
는 것처럼 응용 프로그램을 구성합니다
| application |
"your application, eg, when you register it:
application := WAAdmin register: MyRootComponent asApplicationAt: 'myApp'.
"
application preferenceAt: #scriptGeneratorClass put: JQScriptGenerator.
application
preferenceAt: #sessionClass put: WAExpirySession;
addLibrary: JQDeploymentLibrary;
addLibrary: JQAjaxifierLibrary/.
평소와 같이 #call:
를 사용합니다.
실제로, 적절한 위치에서 업데이트하지 않는 한 아무 것도 할 필요가 없습니다. Seaside는 액션 콜백을 실행 한 후 페이지를 자동으로 다시 렌더링합니다. 기초 정보 장 (online seaside book)을 살펴보십시오. Seaside 렌더링이 작동하는 방식과 액션 콜백이 처리 된 후의 상황을 잘 설명합니다.
예를 들어 ajax를 사용하여보다 복잡한 업데이트 동작이 필요한 경우 포함 된 jQuery-Ajax 바인딩을 사용할 수 있습니다.
감사합니다. http://ss3.gemstone.com/ss/에 프로젝트를 추가하는 동안 질문이 하나 더 있었지만 monticello에서 커밋 할 때 "ZnHttpUnsuccessful : 501 Not Implemented"오류가 발생했습니다. – j10
몬티셀로 "복사"작업? 그렇지 않다면, 새로운 질문을 열어주세요 :) – Tobias