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로 전환하는 것이 더 쉬울 것 같습니다. 왜냐하면 저는 다음을 대체할 드롭인 프로토타입 코드를 찾을 수 없습니다.:updateRails 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 |