在 Rails 中使用 Ajax 的小结
这段时间做的项目中不少地方用到了 Ajax,这里稍微理一下。
当我们不想刷新页面,而直接更改页面的部分内容时,就要想到用 Ajax 。
用户操作 -> 效果实现(页面无需刷新)
Controller
处理并返回数据 (json)
可以直接写在 json:
后面
respond_to do |format|
format.json {render json: @size}
end
或
render json: @size
在 json:
后面用 hash 表示
respond_to do |format|
format.json {render json: {id: @id, size: @size }}
end
或
render json: {id: @id, size: @size }
application.js
绑定事件,获取数据,下步处理
HTML
元素method
(GET
, DELETE
, POST
)url
,用于处理请求dataType
(json
, script
, html
)data
),用 jQuery 完成下一步的处理
$("#post-" + data["id"]).remove();
),addClass
)这是一个示例:
$(document).on("turbolinks:load", function() {
$("[id^=quiz_category_id_]").on("change", function(t) {
t.preventDefault();
var category_id = $(this).val();
$.ajax ({
method: 'GET',
url: "/admin/categories/" + category_id + "/get_questions_size",
dataType: 'json',
success: function(data){
console.log(data);
}
});
});
});