2011-12-11 10 views
2

私は一日中グーグルで行っていますが、まだ答えを見つけることができませんでした。基本的に私のJavaScript関数では、私はレールコントローラとレールコントローラにGETリクエストを送信したいJSONオブジェクトを返送します。どのようなアイデアをすればいいのですか? thnxjavascriptからレールにGET要求を送信する方法

答えて

4

jQuery ajaxを使用してgetまたはpostリクエストをjavascriptから作成することができます。

jQuery.ajax({ 
    url: "url to controller method", // it should be mapped in routes.rb in rails 
    type: "GET", 
    data: {field1 :value1, field2:value2}, // if you want to send some data. 
    dataType: "json" 
    success: function(data){ 
    // data will be the response object(json) 
    } 
}); 

レスポンスは以下のようになりますが、要件に応じて変更することができます。あなたのRailsで次に

$(function() { 
    $('#foo').click(function(){ 
    var params = '{"field1": "value1", "field2: "value2"}'; 
    $.get('/controller/bar', params, function(data){ 
     alert(data); 
    }); 
    }); 
}); 

:いくつかの要素をクリックの上、必要なセレクターとイベントで

、例えば:私はこのような何かをするだろうjQueryのを使用して

respond_to do |format| 
    format.js { render :json => @json_data } 
end 
+0

レールはJSONオブジェクトをjavascriptにどのように戻しましたか? thnx – hlim

+0

がコードに追加されました –

7

コントローラ:

def bar 
    /// hack hack hack 
    render :json => {"response" => "OK"} 
end 
0あなたのroutes.rbを内

ザ・を:

最後に
match 'controller/bar' => 'controller#bar' 

、あなたのコードに応じて変化する "コントローラ"。火かき棒はあなたの友人です!

+0

私はまだnewbyですので、レールがJSONオブジェクトを送信した後、どうすればjavascriptでそのデータにアクセスできますか? – hlim

+0

@mamonlukあなたはデータ変数を通してデータにアクセスできます。例えば、data.responseは "OK"です。アラート(data.response)で試すことができます。 - あるいは、あなた自身が "応答" IDでHTML自体に表示したい場合は、$( '#response')のようにすることができます。html(data.response); – anders

関連する問題