0
Grails 2 submitToRemote 태그를 사용하는 데 문제가 있습니다. GSP를Grails 2.0 업데이트 submitToRemote로 선택하고 렌더링
def getProposal = {
def layouts = importService.getLayoutsFor(params.product as int)
render(contentType: "text/xml") {
for (layout in layouts) {
option("${layout}")
}
}
}
과에 :
<g:submitToRemote action="getProposal" update="layouts"
onLoading="showProgress();" onComplete="hideProgress();"
value="Do It" />
<select id="layouts" name="layout" required="">
</select>
이 결과 JQuery와 사용 :
showProgress();;jQuery.ajax({type:'POST',data:jQuery(this).parents('form:first').serialize(), url:'/app/controller/getProposal',success:function(data,textStatus){jQuery('#layouts').html(data);},error:function(XMLHttpRequest,textStatus,errorThrown){},complete:function(XMLHttpRequest,textStatus){hideProgress();}});return false
없는 작품을
다음 코드는 내가 컨트롤러에서 사용하는 것입니다 오류가 반환됩니다 :
작동render(status: 0, text: "<option value='1'>Layout 1</option>")
: 내가 사용하는 경우
는하지만 다른 같은 방법을 렌더링합니다.
두 경우 모두 예상되는 응답이 다시 전송됩니다.
첫 번째 멋진 방식으로 작동하지 않는 이유를 알지 못했습니다. 아무도 내가 뭘 잘못 설명 할 수 있을까?
들으
편집 :
내가 렌더링 사용하는 경우 (contentType이는 "텍스트/텍스트") 주목대신이 작동합니다. xml의 형식이 올바르지 않습니다 (루트 노드가 없습니까?). Grails 1.3.7에서는 왜 작동합니까?