Rails 3 AJAX 원격 폼 콜백
레일 2.3.8에서 3.0.0으로 업그레이드 중이라 교체해야 합니다.remote_form_for
도우미 통화form_for(@object, :remote=>true)
.
시몬 칼레티와 함께 따라다녔지만 아약스 콜백을 받을 수 없는 것 같습니다.rails.js
발포하기 위해
생성된 HTML은 다음과 같습니다.
<form accept-charset="UTF-8" action="/vendor_shipments" class="new_vendor_shipment" data-remote="true" id="formname" method="post">
테스트 중인 Javascript:
jQuery(function($){
alert('document ready');
$("#formname")
.bind('ajax:loading', function() {alert("loading!");})
.bind('ajax:success', function(data, status, xhr) {alert("success!");})
.bind('ajax:failure', function(xhr, status, error) {alert("failure!");})
.bind('ajax:complete', function() {alert("complete!");});
});
'document ready' 경보가 실행되고 Ajax 요청이 성공적으로 실행됩니다(데이터가 서버에 게시됨). 그러나 '는 없습니다.ajax:____
반격 사격
내가 뭘 잘못하고 있는 거지?
(가치 있는 것은, 양식 자체가 Ajax를 통해 로드된다는 것입니다.)
와, 그건 엄청난 저녁 낭비였어요.
내가 했던 방식으로, 기본 프로토타입을 실행합니다.rails.js
콜백을 연결하지 않습니다.
jQuery 기반으로 변환한 후rails.js
(http://github.com/rails/jquery-ujs) 콜백은 정상적으로 작동합니다.
다음과 같이 프로토타입 기반 콜백을 트리거할 수 있습니다.
$('formname').observe('ajax:before', function(){
...
});
$('formname').observe('ajax:complete', function(request){
...
});
하지만, 나는 생각하지 않습니다.request
의 반대 의견ajax:complete
콜백에는 응답이 포함되어 있습니다.저는 jQuery에 익숙하며 응답에 액세스하는 것이 간단하기를 바랬습니다.대신, JQuery-Rails로 전환하는 것이 더 쉬울 것 같습니다. 왜냐하면 저는 다음을 대체할 드롭인 프로토타입 코드를 찾을 수 없습니다.:update
Rails 2 원격 도우미의 기능.
승인된 답변으로 문제가 해결되지 않으면 여러 jQuery 라이브러리를 포함했는지 확인합니다.저의 경우 두 가지 다른 버전의 jQuery가 내장되어 있었는데 그 중 하나를 제거한 후 모든 것이 정상적으로 작동했습니다.
언급URL : https://stackoverflow.com/questions/3723118/rails-3-ajax-remote-form-call-backs
'programing' 카테고리의 다른 글
backbone.js - 이벤트, 클릭한 내용 확인 (0) | 2023.08.16 |
---|---|
C# LINQ에 해당하는 Javascript 선택 (0) | 2023.08.16 |
Git는 파일 해시를 어떻게 계산합니까? (0) | 2023.08.16 |
모양 전환 시작/종료에 대한 불균형 호출 (0) | 2023.08.16 |
오류 jqxhr에 대한 Ajax GET URL (0) | 2023.08.16 |