gpt4 book ai didi

javascript - 我可以在rails中使用ajax更改实例变量吗?

转载 作者:行者123 更新时间:2023-12-03 07:58:27 25 4
gpt4 key购买 nike

我使用ajax从 Controller 获取对象。

  $('#city').on('change',function(){
$.ajax({
url: "/courses/index",
type: "GET",
data: {city: $('#city').val() },
success: function(responseData) {
alert(responseData);
}
});

所以responseData是json格式的类(class)集合。

目前,我有一个html代码:<%= @courses.first.name %>

如何修改@courses实例,结果为ajax的responseData。

谢谢。

最佳答案

您无法更改实例变量,因为它属于您正在使用的 Ruby 类的实例

使用 ajax 调用各自类的新实例(在服务器上); javascript 仅适用于前端 View (HTML 代码/DOM ),因此您必须使用响应填充该 View :

$(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 中创建一个可用的对象(然后您可以用它来填充您的页面)。

关于javascript - 我可以在rails中使用ajax更改实例变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34700575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com