【问题标题】:Unable to get blueimp/jQuery.fileupload plugin to work无法使 blueimp/jQuery.fileupload 插件工作
【发布时间】:2015-03-30 16:53:31
【问题描述】:

我正在尝试使用这个 jQuery 插件进行跨域图片上传jQuery.fileupload

我认为该插件使用了 require.js,我已经将其包含在内,因为我使用它为我的页面加载 javascript 代码。 该插件似乎不需要我包含require.js,但是当我测试我的页面时,我得到了 这个错误

未捕获的错误:不匹配的匿名定义()模块:函数($, 不明确的 ) { http://requirejs.org/docs/errors.html#mismatch

谁能指点我正确的方向

【问题讨论】:

    标签: jquery file-upload cross-domain


    【解决方案1】:

    你不需要使用Requirejs来使用jQuery File Upload。

    只需确保您以正确的顺序包含required files:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
    <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
    <script src="js/vendor/jquery.ui.widget.js"></script>
    <!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
    <script src="js/jquery.iframe-transport.js"></script>
    <!-- The basic File Upload plugin -->
    <script src="js/jquery.fileupload.js"></script>
    <script>
    $(function () {
        $('#fileupload').fileupload({
            // your options
        });
    });
    </script>
    

    【讨论】:

    • 为什么这被否决了?它在 jquery.fileupload 网站上说,对于最小的插件,您只需要这些文件。
    • 我也在问自己同样的问题 :) 谢谢努诺
    • 因为有些项目是用requireJs构建的,所以必须在requireJs里面使用。
    【解决方案2】:

    我很高兴我在这里并不孤单。这个问题花了我几个小时,这是给你的答案,

    这完全是关于加载这些 JavaScript 文件的顺序。您必须按以下顺序包含文件,否则它将不起作用。

    • jquery-min.js
    • jquery.ui.widget.js
    • jquery.iframe-transport.js
    • jquery.fileupload.js
    • jquery.fileupload-ip.js
    • jquery.fileupload-ui.js
    • require-min.js(这必须是最后一个被包含的)

    【讨论】:

      【解决方案3】:

      这可能是函数名称之间的冲突,请尝试使用 jQuery.noConflict()。或 RequireJS 优化器。

      http://requirejs.org/docs/optimization.html http://api.jquery.com/jQuery.noConflict/

      【讨论】:

      • 我认为问题是由于我的插件尝试注册和匿名 amd 模块
      【解决方案4】:

      您很可能会收到此错误,因为您正在使用标准 &lt;script&gt; 标记加载包含您的 define() 规则的 JavaScript 文件。

      如果你想让 require 工作,你需要使用 require 提供的依赖框架来加载文件,也就是说,通过以下方式从代码的其他部分访问它:

      define(
      'jquery'
      function($){
         // use $.fileupload here
      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-26
        • 1970-01-01
        • 2013-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多