gpt4 book ai didi

javascript - Jquery.html 显示文字代码而不是在 application.js 中呈现 html

转载 作者:行者123 更新时间:2023-11-30 07:25:56 25 4
gpt4 key购买 nike

我在我的 rails application.js 文件中实现了以下代码。当用户单击链接时, View 会重新加载完整的审阅者列表,而不是前 4 个:

$(document).ready(function(){
$("#more_reviewers").click(function(e){
$("#reviewer_list").html('<%= escape_javascript(render "restaurants/restaurant_reviewer_list", :venue => @restaurant, :limit => @restaurant.reviews.count) %>');
});
});

问题:代码没有向我显示列表,而是将 Rails 代码作为文本返回。所以在我的屏幕上,我看到的不是用户列表,而是:

'<%= escape_javascript(render "restaurants/restaurant_reviewer_list", :venue => @restaurant, :limit => @restaurant.reviews.count) %>'

这可能会很简单 - 我会很感激。

最佳答案

Rails 是一种服务器端编程语言。 Javascript 是客户端。您不能将 ruby​​ 代码动态地放入您的网站客户端,因为它需要先在服务器上运行。

您必须创建一个运行此行的 Rails 脚本

<%= escape_javascript(render "restaurants/restaurant_reviewer_list", :venue => @restaurant, :limit => @restaurant.reviews.count) %>

然后使用 load() 将其加载到您的元素中,例如:

$(document).ready(function(){
$("#more_reviewers").click(function(e){
$("#reviewer_list").load('http://url.to/the/script/you/made');
});
});

这样,服务器会收到对您的脚本的请求,它会运行脚本(服务器端)并将输出 (html) 传送到可以呈现的 javascript(客户端)。

关于javascript - Jquery.html 显示文字代码而不是在 application.js 中呈现 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542971/

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