7

このjQueryプラグインを使用してクロスドメイン画像をアップロードしようとしていますjQuery.fileupload

プラグインはrequire.jsを使用していると思いますが、これはページのjavascriptコードをロードするために使用しているため、すでに含まれています。プラグインはrequire.jsを含める必要がないようですが、ページをテストするとこのエラーが発生します

キャッチされていないエラー: 匿名の define() モジュールの不一致: 関数 ( $, undefined ) { http://requirejs.org/docs/errors.html#mismatch

誰かが私を正しい方向に向けてくれますか

4

4 に答える 4

12

jQuery File Upload を使用するために Requirejs を使用する必要はありません。

必要なファイルが正しい順序で含まれていることを確認してください。

<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>
于 2013-07-03T17:47:30.937 に答える
7

私はここで一人ではないことをうれしく思います。この問題には何時間もかかりましたが、ここに答えがあります。

これはすべて、これらの 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 (これは最後に含める必要があります)
于 2013-03-24T14:08:19.280 に答える
0

<script>標準タグを使用して define() ルールを含む JavaScript ファイルを読み込んでいるため、このエラーが発生する可能性が最も高くなります。

require を機能させたい場合は、require が提供する依存関係フレームワークを使用してファイルをロードする必要があります。つまり、コードの他の部分から次のようにアクセスします。

define(
'jquery'
function($){
   // use $.fileupload here
})
于 2013-01-07T03:59:24.430 に答える
0

これは関数名間の競合である可能性があります。jQuery.noConflict() を試してください。または RequireJS オプティマイザー。

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

于 2012-04-09T20:58:15.153 に答える