我有一个 Rails 应用程序,我在其中创建了一个 AJAX/JSON Controller 来在 View 中执行一些动态 HTML 更新。我遵循了这个指南:https://www.rubyguides.com/2019/03/rails-ajax/
我进行如下调用:../lated.json?vendor_id=1&budget_id=1
,它返回我想要更新的原始 HTML 部分(只是一堆或表行)。
我的通话如下所示:
Rails.ajax({
url: url,
type: 'GET',
success: function(data) {
document.getElementById("related").innerHTML = "data"
// alert(data)
}
})
如果我在浏览器中手动查看 JSON 请求,则 HTML 输出符合预期。但是,当我尝试替换 HTML 甚至查看测试警报中的数据时,我会返回 [object HTMLDocument]
。我遵循的指南使用 data.html
来提供innerHTML,但这对我不起作用。不确定这是否是 UJS/JQuery 问题。
如何使用 JSON 调用中的原始文本设置 DOM 元素?
最佳答案
您可以使用 JSON.stringify 函数将原始文本转换为 html:
document.getElementById("related").innerHTML = JSON.stringify(data)
关于javascript - 如何显示 Rails AJAX JSON 响应中的文本 - Javascript 正在返回 [object HTMLDocument],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59290516/