0

这更像是我发现的一个修复而不是一个问题。

在 Symfony 3 项目中,我决定将 bootstrap 3 升级到 4。这意味着使用 JQuery3,它与 Fos Comment Bundle 2.0.14(可能更早)的异步评论显示不完全兼容。

你可能会得到一个 JS 错误:

TypeError:$.get(...).error 不是函数

4

1 回答 1

0

这是因为 js 中调用的 '.error' 在 jQuery3 中已被弃用(参见https://api.jquery.com/jQuery.Ajax/底部)。

要干净地更正此问题,而不修改捆绑文件:

步骤1:

复制文件

web/bundles/foscomment/js/comment.js

web/js/foscomments-fix-jquery-3.js

(或任何你想要的名字)

第2步:

更新行

$.post(url, data, success).error(wrappedErrorCallback).complete(wrappedCompleteCallback);

$.post(url, data, success).fail(wrappedErrorCallback).done(wrappedCompleteCallback);

$.get(url, data, success).error(wrappedErrorCallback);

$.get(url, data, success).fail(wrappedErrorCallback);

第 3 步:

复制

供应商/friendsofsymfony/comment-bundle/FOS/CommentBundle/Resources/views/Thread/async.html.twig

应用程序/资源/FOSCommentBundle/views/Thread/async.html.twig

第4步:

修改行

fos_comment_script.src = '{{ asset('bundles/foscomment/js/comments.js') }}';

像这样:

fos_comment_script.src = '{{ asset('**js/foscomments-fix-jquery-3.js**') }}';
于 2018-01-26T14:16:07.347 回答