2011-03-08 2 views
0

다른 도메인의 게시물을 수락하고 성공하면 "OK"라는 텍스트 문자열을 반환하는 컨트롤러를 작성하는 방법을 모르겠습니다.레일즈 3 앱에서 AJAX를 통해 도메인 간 POST를 허용하려면 어떻게해야하나요?

다른 도메인에 존재할 수있는 레일즈 3 컨트롤러와 jQuery를 사용하여 예제를 보여줄 수 있습니까?

감사합니다. 당신은 실제로 "OK"레일 컨트롤러에서 반환 할 필요가 없습니다 것입니다

def index 
    # do your stuff 

    respond_to do |format| 
     format.js { render :json => "OK".json } 
    end 
end 

: 당신의 Lists 컨트롤러에서

$.ajax({ 
    url: "http://localhost:3000/lists", 
    dataType: "jsonp", 
    type: "POST", 
    processData: false, 
    contentType: "application/json", 
    data: myData 
}); 
+0

안녕하세요, 저는 여기에 똑같은 prob (하지만 아약스)를 치고 있습니다 ... 정말로 type type : jsonp를 사용하고 있습니까? POST? 사용중인 jquery 버전은 무엇입니까? – MrWater

답변

0

,이 같은 있습니다. 요청이 성공하면 jQuery가 자동으로 감지하고 AJAX 요청에 success: some_function(data)을 추가하여 원하는 모든 작업을 수행 할 수 있습니다.

또한 JSON here과 같이 데이터를 반환하는 것과 관련된 자세한 정보를 볼 수 있습니다.

0

레일즈 컨트롤러 부분을 구체적으로 모르겠지만 중요하지 않습니다. 귀하의 데이터를 전송하려면 POST를 수행해야합니까, 아니면 GET 요청을 사용할 수 있습니까? 크로스 도메인 문제는 후자의 경우 더 쉽게 해결할 수 있다고 생각합니다. 나는 POST 크로스 브라우저로 성공했지만, 파이어 폭스는 보통 그것에 대해 짖는 소리를 끊지 않을 것이다.