도메인 모델 (A) 편집을 처리하는 양식이 있습니다. 이 도메인 모델 hasMany
다른 도메인 모델 (B). 따라서 A에 새로운 Bs를 추가하기 위해 일부 입력 필드의 매개 변수를 컨트롤러에 보내는 사용자 지정 AJAX 함수를 구현하려고했습니다.외부 Javascript 파일의 컨트롤러/작업에 대한 URL
<g:form>
<!-- other stuff concerning entity A -->
<p>Add B to A</p>
<input type="text" id="bName" /> <input type="text" id="bSomeProperty" <a href="#" id="addB">Add</a>
</g:form>
을 그리고 resources
플러그인로드 내 main.js
에 자바 스크립트의 다음 부분을 추가 : 그렇게하기 위해서는
, 나는 다음과 같은 GSP를 만들었습니다.
$("#addB").click(function() {
$.ajax({
url: '', // controller: a, action: addB
dataType: 'json',
data: {
bName: $('#bName').val(),
bSomeProperty: $('#bSomeProperty').val(),
}
});
});
그래서, 질문은 : 나는 현재의 컨트롤러와 액션 addB
를 가리키는 URL을 검색 할 수 있습니까? Grails는 실제로 링크를 검색하는 몇 가지 메소드를 제공하기 때문에 가능한 경우 하드 코드를 작성하거나 상대 경로를 사용하고 싶지 않습니다.
자바에서 remoteFunction
을 사용하면 jQuery를 사용하기 때문에 나에게 적합하지 않았습니다. 둘 다 잘 작동하지 않는 것 같습니다.
Grails, jQuery 및 AJAX에 대한이 블로그 기사 (http://alexduan.com/2011/02/17/grails-jquery-and-ajax/)도 있습니다. 그는 자바 스크립트 부분에서 변수를 사용합니다. 아쉽게도 contextPath
변수는 자바 스크립트가 GSP 페이지가 아닌 외부 파일에 있기 때문에 구문 분석되지 않습니다.
어떻게해야합니까?
옵션 :
- (가 다소 인라인이기 때문에, 다소 추한)
- 를 사용하여 페이지 내에서 (매우 강력한되지 않음) 상대 URL
- 가
remoteFunction
받기를g:javascript
태그에 자바 스크립트 조각을 넣어 작동 방법 (jQuery 사용법) - 다른 건 없나요?
감사! 다른 모든 Javascript 파일에서'contextPath'에 접근하여 컨트롤러와 액션에 대한 경로를 직접 만들 수 있도록 전역 변수를'main.gsp'에 추가했습니다. –