Javascript Laravel5.5jQuery3.3.1Ajax不是一个函数
我一直在用twilio和laravel 5.5开发呼叫中心应用程序,我想在我的应用程序中获得webrtc功能,为此我必须使用ajax发出请求 然而,我得到以下警告: 延迟异常:$.ajax不是函数 @ l@ a/http://localhost:8000/js/jquery.js:2:2967 出现以下错误: TypeError:$.ajax不是函数 我到处寻找解决方案,并尝试了以下方法:Javascript Laravel5.5jQuery3.3.1Ajax不是一个函数,javascript,php,jquery,ajax,twilio,Javascript,Php,Jquery,Ajax,Twilio,我一直在用twilio和laravel 5.5开发呼叫中心应用程序,我想在我的应用程序中获得webrtc功能,为此我必须使用ajax发出请求 然而,我得到以下警告: 延迟异常:$.ajax不是函数 @ l@ a/http://localhost:8000/js/jquery.js:2:2967 出现以下错误: TypeError:$.ajax不是函数 我到处寻找解决方案,并尝试了以下方法: 将jquery从cdn下载到客户端,并将其包括在内 尝试最新的CDN 在edge、chrome、firef
没有任何东西能够解决这个问题,这是我的ajax调用
/* get twilio token with AJAX request */
var clientName = $('#agent-name').data('name');
$.ajax({
type: 'POST',
url: '/twilio/generate-token',
data: {
clientName: clientName,
},
success: function(data) {
Twilio.Device.setup(data.token);
}
});
我还尝试了$.post
而不是$.ajax
,但它导致了相同的错误
$.post('/twilio/generate-token', {
clientName: clientName,
clientToken: this.clientToken
}, function(data) {
Twilio.Device.setup(data.token);
});
到底是什么原因导致
$.ajax
函数无法识别..jquery库是在laravel自身的app.js
脚本之前包含的,在我将jquery cdn移到app.js
的防御之下之后,问题得到了解决在laravel本身的app.js
脚本之前就包含了jquery库,在我将jquery cdn移到app.js
的防御之下之后,问题得到了解决我也遇到了同样的问题,但通过添加以下行修复了此问题:
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
我也有同样的问题,但通过添加以下行修复了它:
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js"></script>
我面临同样的问题,得到了比包含第二个jQuery更好的解决方案。 我发现app.js需要bootstrap.js 在bootstrap.js中加载了“jquery/dist/jquery.slim.js”,只需将其更改为: “jquery/dist/jquery.min.js”,在重新编译和加载页面几次之后,问题以更干净的方式得到解决
所以问题是加载了jQuery的精简版本,它确实不包含任何ajax功能。我遇到了同样的问题,得到了比包含第二个jQuery更好的解决方案。 我发现app.js需要bootstrap.js 在bootstrap.js中加载了“jquery/dist/jquery.slim.js”,只需将其更改为: “jquery/dist/jquery.min.js”,在重新编译和加载页面几次之后,问题以更干净的方式得到解决
所以问题是加载了jQuery的slim版本,它确实不包含任何ajax功能。该错误意味着您使用的是jQuery的“slim”分支,它没有ajax和其他一些功能。您说您已经尝试添加完整版本的jQuery,但请确保只包含该版本,并且已删除以前的版本。请确保在包含js代码之前包含jQuery,以便在执行代码时可以使用jQuery。这显然是由laravel的app.js引起的,如果我在app.js之后加载本地jquery和所有其他脚本,这似乎是可行的,错误表明您使用的是jquery的“slim”分支,它没有AJAX和其他一些功能。您说您已经尝试添加完整版本的jQuery,但请确保只包含该版本,并且已删除以前的版本。请确保在包含js代码之前包含jQuery,以便在执行代码时可以使用jQuery。这显然是由laravel的app.js引起的,如果我在App.js后面加载我的本地jQuery和所有其他脚本,请考虑将这个问题按自己的答案来回答。