make_suggestion
AJAX リクエストを Rails コントローラー ( のメソッド)に送信しようとしていますitems controller
。
私は次のJavaScriptを持っています:
$.ajax({
url: "/items/make_suggestion", // pass to make_suggestions in recipes controller
type: "POST",
dataType: 'json',
data: parsed_data // a Javascript object/data hash
});
debug(params) をオンにすると、params に parsed_data が表示されません。
誰が間違っているのか指摘できますか?また、AJAX を起動して Rails のパラメーターにシンボルを作成するにはどうすればよいですか?
アップデート
私のコントローラーには、
def make_suggestion
respond_to do |format|
format.html
format.json { render :json => params }
end
end
私のajaxコード:
$.ajax({
url: "http://localhost:3000/items/make_suggestion", // I'm doing the proper routing later, since '/make_suggestion' routes to 'items/1/make_suggestion'
type: "POST",
dataType: 'json',
data: parsed_data,
success: function(returned_value){
if(returned_value)
alert('true');
$('.test').append(returned_value);
},
error: function(returned_value){
$('.test').html('<p>Error in AJAX request</p>');
alert('Not working');
}
});
そして、私の parsed_data は次のようになります。
パラメータ: {"data1"=>{"position"=>"1", "item_id"=>"item_1", "to_do"=>"unknown ", "selected"=>"false"}, "data2"= >{"position"=>"2", "item_id"=>"item_2", "to_do" =>"unknown", "selected"=>"false"}, "data3"=>{"position"=> "3", "item_id"=>"item_3 ", "to_do"=>"unknown", "selected"=>"false"}, "data4"=>{"position"=>"4", "item_id " =>"item_4", "to_do"=>"unknown", "selected"=>"false"}, "data5"=>{"position"=>"5" , "item_id"=>"item_5", "to_do"=>"unknown", "selected"=>"false"}}
しかし、/items/make_suggestion.json に移動すると、次のようにしか表示されません。
{"action":"make_suggestion","controller":"recipes","format":"json"}