gpt4 book ai didi

javascript - 渲染部分只是渲染来自ajax的字符串

转载 作者:行者123 更新时间:2023-11-28 08:15:36 26 4
gpt4 key购买 nike

我正在尝试从 ajax 响应中渲染部分内容。

//app/assets/javascript/pages/contact.js
$("#new_message").on("ajax:success", function(event, data, status, xhr) {
$("#new_message").prepend("<%=j( render 'layouts/error_messages', object: f.object) %>")
});

这是从消息 Controller 发送的

class MessagesController < ApplicationController
def contact
@message = Message.new(params[:message])
respond_to do |format|
if @message.valid?
ContactMailer.contact_me(@message)
format.html { redirect_to contact_path, notice: 'Message was sent successfully.' }
format.js { render nothing: true }
else
format.html { redirect_to contact_path }
format.js { render nothing: true }
end
end
end
end

我猜测问题来自于它不是部分的,我必须在我的 format.js block 中发送数据。

当调用 ajax 事件时,它会附加字符串而不是呈现它

编辑*将代码移至 contact.js.haml 仍使其以字符串形式返回

$("#new_message").prepend("j(render partial:'layouts/error_messages', object: f.object))")

最佳答案

更改为

$("#new_message").prepend("#{ j(render partial:'layouts/error_messages', object: f.object)) }")

您可能想要更改f.object

关于javascript - 渲染部分只是渲染来自ajax的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23629661/

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