2011-12-14 5 views
0

자바 스크립트에서 PUT, POST 또는 DELETE 호출을 어떻게 수행합니까?레일즈 자바 스크립트 데이터베이스 쿼리

jquery 끌어서 놓기를 사용하여 일부 데이터를 수집했습니다. 어떻게 이것을이 데이터베이스로 보냅니 까? jQuery.ajax를 사용할 수는 있을지 모르지만 정확히 어떻게 작동하는지 알 수 없습니다.

감사합니다.

솔루션 :

$(document).ready(function() { 
    $.ajax({ 
     type: "PUT", 
     url: "/articles/8", // should be mapped in routes.rb 
     data: {articles:{name:"New Name"}} 
     }); 
}); 

를 작동하는 자바 스크립트입니다하지만 새 이름에 제 8의 이름을 변경하지 않습니다. Firebug는 오류를 표시하지 않지만 여전히 데이터를 편집에 전달할 수는 없습니다.

URL은 put url을 사용하는 표준 업데이트이며 경로에 있습니다.

답변

2

jQuery ajax를 사용할 수 있습니다. 서버 측 코드로 브라우저 요청을 동적으로 처리하는 아주 좋은 방법입니다.

http://api.jquery.com/jQuery.ajax/

http://api.jquery.com/category/ajax/

레일 코드 :

def edit_comment 
@comment = params[:comment] 
// store to database 
    response_to do |format| 
    render :html 'comment.html' 
    end 
end 

routes.r 자세한 내용은

jQuery('#element_id').on('click change',function(){ // use event as per your need $.ajax({ type: "GET", url: "/edit_comment", // should be mapped in routes.rb data: {comment:"new comment"}, datatype:"html", // check more option success: function(data) { // handle response data }, async: true }); }); 

다음 링크를 확인 B PUT 들어

map.edit_comment "edit_comment", :controller => 'comment', :action => 'edit_comment' 
+0

도움 주셔서 감사합니다. - 좀 더 명확히해야합니다! 주석을 편집 할 때 이것을 사용하여 @comment를 사용하여 제어 메소드에 대한 URL을 찾을 수 있습니까? 데이터를 입력 할 때 이름을 Edward로 편집하려면 데이터 : {이름 : "Edward"} – Edward

+0

예. 할 수 있습니다 .. –

+0

나는 코드를 편집하여 의견을 남깁니다. 조금 분명해. 단지 그것을 이해하려고 노력하십시오. –

2

과 추가 파라미터를 추가라는 _method 삭제 : _method=PUT
레일은 PUT 및 DELETE 시뮬레이션하기 위해 사용한다.

+0

_method = PUT - 'missing : after property id'오류가 발생합니다. _method : "PUT"에서 오류가 발생하지 않습니다. 아직 데이터를 입력하지 못했습니다. 데이터를 전달하는 방법을 여전히 이해할 수 없습니다. – Edward

+0

예는 js가 아닌 url 코드입니다. JS에서는 실제로 따옴표를 추가합니다. "data : {}"매개 변수 또는 jquery ajax 요청에 데이터를 전달하십시오. – clyfe

관련 문제