我的View中有一个DropDown菜单,它有一个Callback,一旦检测到change事件就会被触发。我想通过ajax将在DropDown中选择的Value传递给我的Line_items控制器并更新特定记录。
可悲的是,$ .ajax对我来说仍然是一个陌生人。
到目前为止,我有:
$.ajax(
type: 'POST',
dataType: 'text'
url: 'orders/:order_id/line_items/:id',
data:
"variant_id": selectedData.selectedData.value
success: ->
alert ('test')
)
这样做的正确方法是什么?
答案 0 :(得分:0)
基本上你可以将数据中的值传递为json对象;你的功能可能如下:
$('#my_dropdown_id').change(function() {
var sel_value = $(this).val();
// here you can do some validation, etc; before fire the ajax call if is necessary
$.ajax({
url: 'orders/:order_id/line_items/:id',
type: 'POST',
data: {variant_id: sel_value},
success: function(data) {
alert('OK!')
}
})
});
然后在你的后端你可以从post params获得该值。即params ['variant_id']
我假设您将使用适当的ID值构建URL;即。
url: 'orders/'+ your_order_id +'/line_items/'+ line_item_id,