【发布时间】:2019-01-09 09:08:45
【问题描述】:
我调用 jquery ajax 来获取一些 html,并尝试将其注入 DIV。 ajax调用成功;我在“成功”功能中使用警报进行了测试。当我选择 div 并尝试通过 .html 注入 html 时,出现错误“未捕获的错误:rails-ujs 已加载!”被抛出。我怀疑我需要从响应中删除 html 标头,但是我是 curios,因为当我用谷歌搜索这个问题时,我找不到任何人使用它。有什么想法吗?
$.ajax({
url: "/qip_changes/4",
success: function(data){
var temp = $("#modal_dialog")
temp.html(data);}
});
Uncaught Error: rails-ujs has already been loaded!
at Object.Rails.start (eval at <anonymous> (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:350), <anonymous>:626:17)
at eval (eval at <anonymous> (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:350), <anonymous>:675:15)
at eval (eval at <anonymous> (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:350), <anonymous>:678:8)
at eval (eval at <anonymous> (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:350), <anonymous>:679:6)
at eval (eval at <anonymous> (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:350), <anonymous>:686:4)
at eval (<anonymous>)
at jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:350
at Function.globalEval (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:351)
at text script (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:10373)
at ajaxConvert (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:9333)
这里要求的是我得到的 HTML。我认为它会尝试再次加载资源,因为 html 头包含在响应中。但我认为这是一个标准用例,那么我现在如何添加我的 html 正文来构建新的 div ?我从头部删除了几行,但你明白了..
<!DOCTYPE html>
<html>
<head>
<title>Qipmatedevel</title>
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="iHpkgs5MnuprF/MSafLonZEsd+6OcrdLBxgIYdgLnL2IWeHpToeixf60mTw+ce2vLOsYimDPZwXmmxDR9C7k3g==" />
<link rel="stylesheet" media="all" href="/assets/jquery-ui/theme.self-830c3407ba1359ea36eee978235be14de5b78dacfa658a31226fe4f2b0faa7e7.css?body=1" data-turbolinks-track="reload" />
<link rel="stylesheet" media="all" href="/assets/jquery-ui/core.self-e4bdefd3813c8a715955a6c65b9e730846dcae6a0576618563d635ff0b18a3ca.css?body=1" data-turbolinks-track="reload" />
<link rel="stylesheet" media="all" href="/assets/jquery-ui/accordion.self-aa0730fc025317fed4feff2aa5fc07cba5a545dfc5c913a2984ba6f8695b29fb.css?body=1" data-turbolinks-track="reload" />
.
.
.
.
<script src="/assets/qip_changes.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="reload"></script>
<script src="/assets/application.self-3e52b2e0960c022373a99a81be2db0f03db9befe8798811b43ad82485b0e8966.js?body=1" data-turbolinks-track="reload"></script>
</head>
<body>
<div id='qip_change_show'>
<br>
Render my test
</div>
</body>
</html>
所以我想我找到了问题所在。确实是尝试加载包括 HTML Header 在内的 HTML。我需要检查如何在没有 HTML 标头的情况下在服务器上呈现我的 HTML。由于我是 Rails 新手,这可能需要一些时间,但我稍后会在这里更新它
我的问题是,我尝试再次加载完整的 HTML 视图,包括所有标题。我添加了一个新的布局,它不包含任何 HTML 标题,并在我构建视图时呈现它。这解决了问题。
【问题讨论】:
标签: jquery ruby-on-rails ajax