0

나는 ajax를 사용하여 양식을 작성하려고합니다.ajax와 레일을 사용하여 간단한 양식을 제출하십시오.

나는 this 튜토리얼을 읽었지 만 나에게 명확하지 않습니다.

간단한 양식을 제출하고 페이지를 새로 고치지 않고 같은 페이지에 결과를 표시하고 싶습니다. 내 응용 프로그램에는 모델이 없습니다. 난 그냥 양식을 제출하고, API에 요청하고 결과를 다시 페이지에 표시하고 싶습니다.

나는이 예를 들어 사용하는 경우 :

<form method="post" action="/my_controller/my_action" class="button_to" data-remote="true" data-type="json"> 
    <input type="text" ..> 
    <input type="text" ..> 
    <div><input value="Show" type="submit" /></div> 
</form> 

어떻게 my_controller에서이 값을 얻을 수있는 방법은 내가 다시보기로 표시 할 수 있습니다?

답변

1

양식

<form method="post" action="/my_controller/my_action" class="button_to" data-remote="true"  data-type="script"> 
    <input type="text" name="value1"> 
    <input type="text" name="value1"> 
    <div><input value="Show" type="submit" /></div> 
</form> 
을 첨부 할 수 있습니다 JQuery와의 아약스 방법을 사용하는 모든 도움을

감사합니다 16,

귀하의 디스플레이 div 태그

<div id="feeds"></div> 

액션

def my_action 
    @value1 = params[:value1] 
    @value1 = params[:value2] 
    respond_to do |format| 
     format.js 
    end  
end 

로보기 내 내가 @MuhammetDILEK의 대답을 편집하려고했습니다/my_action.js.erb

$('#feeds').prepend("<%= j ("<p>#{@value1}-#{@value2}</p>") %>"); 
+1

마지막 부분 :에 설명 된대로 그러나, 나는 형태로 data-type="script" 대신 data-type="json"를 사용하는 데 필요한. 나는'alert ("test")'와 아무 것도 넣지 않으려 고 노력했다. = / – coffee

0

$.ajax({ 
url:'/path/to/controller',  
type:'GET', 
data:{formData:$('form').serialize()}, 
success:function(data){ 
//do what ever with the response 
} 

}); 

추가 오류 이벤트 핸들러

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

관련 문제