【问题标题】:Bootstrap4, JQuery3 and FOS Comment Bundle => $.get(...).error is not a functionBootstrap4、JQuery3 和 FOS 注释包 => $.get(...).error 不是函数
【发布时间】:2018-07-05 21:32:05
【问题描述】:

这更像是我找到的解决方案,而不是一个问题。

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

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

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

【问题讨论】:

    标签: bootstrap-4 symfony3.x jquery-3 foscommentbundle


    【解决方案1】:

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

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

    第 1 步:

    复制文件

    web/bundles/foscomment/js/comment.js

    web/js/foscmets-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 步:

    复制

    vendor/friendsofsymfony/comment-bundle/FOS/CommentBundle/Resources/views/Thread/async.html.twig

    app/Resources/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**') }}';
    

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 2019-07-03
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多