我使用ajax从控制器获取对象。
$('#city').on('change',function(){
$.ajax({
url: "/courses/index",
type: "GET",
data: {city: $('#city').val() },
success: function(responseData) {
alert(responseData);
}
});
因此responseData
是课程的json格式集合。
目前,我有一个HTML代码:<%= @courses.first.name %>
如何修改@courses
实例,其结果是ajax的responseData。
感谢。
答案 0 :(得分:1)
您无法更改实例变量,因为它属于您正在使用的Ruby类的实例。
使用ajax调用各自类的新实例(在服务器上); javascript仅适用于前端视图(HTML code / DOM),因此您必须使用响应填充该内容:
$(document).on('change', '#city', function(){
$.ajax({
url: "/courses/index",
type: "GET",
data: {city: $('#city').val() },
success: function(responseData) {
course = JSON.parse(responseData);
$(".element").html(course.name);
}
});
});
如果不知道您期待哪些数据等,那么很难知道如何“解析”您的数据。但是,需要注意的重要一点是,您应该不尝试更改ERB
,而是识别html
并将其替换为您收到的JSON。
此外,您需要使用类似JSON.parse的东西在您的javascript中创建一个可用的对象(然后您可以使用它来填充您的页面)。
答案 1 :(得分:0)
听起来您想通过Ajax将信息发布回rails应用程序。