亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

問題與 jquery_ujs 和 rails-ujs 問題 ajax 頁面

問題與 jquery_ujs 和 rails-ujs 問題 ajax 頁面

慕少森 2022-06-16 16:33:06
我是 rails 和 ruby 的新手,我是 1 周前才開始的。我正在嘗試在 Rails 上的兩個人之間進行聊天,其中 jquery 用于 ajax 部分。一切正常,但我得到了這個我不明白的錯誤,這真的讓我很困擾錯誤的圖像(無法將其包含在圖像應答器中) https://ibb.co/KKjKLPfVM17:2082 未捕獲的錯誤:如果同時加載 jquery_ujs 和 rails-ujs,請僅使用 rails-ujs。我知道我同時使用 jquery_ujs 和 rails-ujs,rails 希望我只使用 rails-ujs。我的主頁(index.hmtl.erb)有這個作為代碼<h1>welcome to the chat  </h1><div id='conv'>    <div id='message'>    </div>    <div id='sendmsg'>    <%= form_tag "/", method: "post" do %>        <input type='hidden' name='name' value='phil'/>        <input id='tex' type="text" name="message" />        <input id='sen' type="submit" value="send" />    <% end %></div></div>我的javascript是這樣的window.addEventListener('load', function () {    setInterval(refreshMessage,3000);    function refreshMessage(){        $.ajax({            type: 'GET',            url: '/chatBoard',            success: function(data){                $('#message').html(data);            },            error : function(){                $('#message').html('error');            }         })    };});這個 ajax 向服務器發送一個 GET 到 '/chatBoard' 的信息,它會使用這個腳本返回數據庫中的所有消息。<% @messages.each do |message| %><%= message.name %> :<%= message.message %><% end %>我試圖找到一個解決方案,但我仍然卡住了,所以我把它貼在這里,我想讓這個工作,但沒有這個錯誤。我應該怎么辦?用 CoffeeScript 更改我的 ajax 請求?還沒學過 CoffeeScript :/編輯:你好,我不知道為什么,但是在 application.js 中刪除一些東西就可以了// require("@rails/ujs").start()require("turbolinks").start()require("@rails/activestorage").start()require("channels")require("custom")我剛剛對 require("@rails/ujs").start() 做了評論,錯誤不再出現,代碼仍然有效:/weard
查看完整描述

2 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

我的猜測在你的application.js文件中,你有


//= require rails-ujs

//= require jquery_ujs

如果刪除//= require jquery_ujs,錯誤應該會消失。


查看完整回答
反對 回復 2022-06-16
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

正如錯誤所說,您正在為同一目的導入兩個庫jquery-ujs, 和rails-ujs. 因此,根據您使用的 Rails 版本,您只需要留下一個。如果您的版本是 5.0 或之前的版本,則需要使用jquery-ujs,但如果您使用 Rails 5.1 及以上版本,則需要使用rails-ujs. 此外,如果您需要對 jQuery 的支持,正如您在評論中提到的,您需要jquery-rails在您的 中添加 gem ,在控制臺中Gemfile運行bundle install,然后在application.js添加中//= require jquery(在您要導入的行上方jquery-ujsrails-ujs)中。



查看完整回答
反對 回復 2022-06-16
  • 2 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號