我尝试在Ruby On Rails应用程序中使用Javascript进行Ajax调用,但出现“ ReferenceError:未定义$”错误。但是我的jQuery也安装在我的应用程序上。我看了其他主题,但没有解决方案,这就是为什么我要创建这个主题
我已经在我的environment.js中尝试了以下代码:
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.append('Provide',new webpack.ProvidePlugin({
$: 'jquery',jQuery: 'jquery',Popper: ['popper.js','default']
}))
module.exports = environment
我试图删除涡轮链接,什么都没有改变
这是我的布局Javascript行:
<%= javascript_pack_tag 'application','data-turbolinks-track': 'reload' %>
我的application.js文件:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
//= require jquery3
//= require popper
import "bootstrap"
我的javascript ajax调用:
<% content_for :javascript do %>
<script>
var textarea = document.getElementById('biography-editor');
var text = document.getElementById('biography');
var btn = document.getElementById('submit-biography');
function edit_biography() {
btn.innerHTML = 'Sauvegarder';
btn.setattribute( "onClick","save_biography()" );
textarea.style.display = 'block';
text.style.display = 'none';
}
function save_biography() {
btn.innerHTML = 'Modifier ma biographie';
btn.setattribute( "onClick","edit_biography()" );
textarea.style.display = 'none';
text.style.display = 'block';
var content = textarea.innerHTML;
$.ajax({
url : '/user/updateBiography',type : 'POST',data : content
});
}
</script>
<% end %>
我希望我的JavaScript能够正常工作并理解此问题。
谢谢