2013-08-15 4 views
0

괜찮 았어, 이건 간단하지만 철저히 쫓겨나고있다. 내 컨트롤러에 아약스 요청을 게시하고 CoffeeScript로 응답을 받으려고합니다. 나는 순수한 JS로 옮기려고 시도했지만 차이를 만들지 않았다.Ajax return passing passing 데이터, 레일

jQuery 문서는 newImage()가 newImage (데이터) 여야 함을 의미하지만, 그렇게 할 경우 오류 데이터는 정의되지 않습니다. 이 코드를 사용하면 알리미에 대해 정의되지 않은 상태가됩니다.

jQuery -> 
    $('select[data-type=scene]').change -> 
    i_num= $(this).attr('data-num').toString() 
    i_value= $(this).find(':selected').text() 
    request= 'new image for :'+ i_num + ': get :' + i_value + ': image' 
    $.post('/new_image', {request: => request}, newImage()) 

newImage= (new_url) -> 
    alert new_url 

컨트롤러는 콘솔에서 볼 수있는 응답을 제공하지만 AJAX 콜백은 응답을 얻지 못합니다. 컨트롤러 코드는 입니다.

def new_image 
    request= params['request'].split(':') 
    @url= get_thumb_url(request[3]) 
    @img_num= request[1] 
    reply= @img_num + '::' + @url 
    render json: reply, content_type: 'text/json' 
end 

내가 트랙 끝나요 경우 응답이 3 :: https://bnacreations.s3.amazonaws.com/g/thumbnails/image.jpg

의 어떤 제안입니까? $.post에 대한 인수 목록을 구축하는 동안

+0

당신은 또한 AWS에서 그 이미지는 개인해야되는 거지되었는지 확실 컨트롤러 코드 –

+0

을 게시 할 수 있습니다 : 당신이 말할 수 있도록

BTW, 커피 스크립트는 루비 틱 스트링 보간을 가지고? 내가 액세스 할 수 없습니다. –

답변

1

이것은 newImage 함수를 호출

$.post('/new_image', {request: => request}, newImage()) 
# --------------------------------- function call --^^ 

만 (당신이 원하는 무엇을하는) 함수에 대한 참조 $.post을 제공 할 경우, 전원을 껐다 떠나 괄호. 또한 $.post은 두 번째 인수에서 일부 데이터를 원하지만 request: => requestrequest의 값으로 함수가 있습니다. 당신은 아마이 대신 원하는 : 커피 스크립트의 => (fat-arrow)는 바인딩 기능을 정의하는 것입니다

$.post('/new_image', { request: request }, newImage) 

, 그것은 해시를 구축하기위한 루비 스타일 hashrocket 없습니다.

request = "new image for :#{i_num}: get :#{i_value}: image" 
+0

고맙습니다. 이제 나는 시작했지만 더 잘 교육받은 곳으로 돌아 왔습니다. 포스트가 여전히 콜백을 호출하지 않습니다. 응답은 여전히 ​​패킷에 있지만 newImage는 호출되지 않습니다. 별도의 응답 패키지가 있어야합니까? – bobbdelsol

+0

BTW, 난 레일 4.0을 사용하고 있습니다. 그리고 게시물 진술 이후에 경고를하면 패킷이 경고를 지울 때까지 보류 상태가되어 상황이 이야기하는 것처럼 보입니다. 다시 한번 감사드립니다. – bobbdelsol

+0

좋아요, 이제 답을 찾았습니다. 올바른 코드를 찾아 주셔서 정확한 장소를 검색해 주셔서 감사합니다. stackoverflow.com/users/1609186/ivan-fong. 나는 json을 렌더링하기 위해 나의 답장을 다시 포맷했다 : {: reply => reply}, content_type : 'text/json'그리고 모두 좋다. - bobbdelsol 5 분 지남 – bobbdelsol