web-dev-qa-db-ja.com

jQuery ajax loadは関数ではありません

この例

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<div id="test"></div>
<script>
$(document).ready(() => {
  $('#test').load('doesntmatter');
});
</script>

ajax load function の例と同じように思えました。コードスニペットからわかるように、実際には

Uncaught TypeError: $(...).load is not a function

何が間違っていますか?

18
Guillaume CR

https://code.jquery.com/jquery-3.2.1.slim.min.js はjqueryのスリム版で、ajaxは含まれていません。 slimは、Expressサーバーに含まれるデフォルトバージョンです。 https://code.jquery.com/jquery-3.2.1.min.js でフルバージョンのjqueryを使用します

52
Guillaume CR

これを試してください

$(document).ready(function(){
    $("button").click(function(){
       $("#div1").load("demo_test.txt #p1"); 
    });
});
1
Manoher Kumar

JQuery形式が間違っています:

$(document).ready(function() {
        $('#test').load('doesntmatter');
    });

次に、ディレクトリなどのページ名をロードパラメータに追加します

  • また、スクリプトが最新の機能バージョンであることを確認してください
0
clearshot66

そのためにJQueryを使用しないでください:

これにより、使用前にJQueryが確実にロードされます。

window.addEventListener("load", function(event) {
  $('#preloader').delay(400).fadeOut(500);
  // Do what you want, the window is entirely loaded and ready to use.
});

ロードイベントは、スタイルシート画像などのすべての依存リソースを含むページ全体がロードされると発生します。これは、DOMContentLoadedとは対照的です。DOMContentLoadedは、ページのDOMが読み込まれるとすぐに、リソースの読み込みが完了するのを待たずに起動されます。

Mozillaドキュメント: ロードイベント

編集:window.loadedおよびjquery.loadを混乱させないという質問による

最初に、前の応答のようにjquery.slimjqueryに変更します

第二に、ベストプラクティスにネイティブイベントハンドラを使用します(私の意見では)最新のブラウザで。

// To be sure $ is defined
// Window loaded event
window.addEventListener("load", function(event) {

  // Now $ or JQuery is completly available
  // Now using JQuery.load() should be defined
  $('#test').load('doesntmatter');

  // Do what you want, the window is entirely loaded and ready to use.
});
0
Shim-Sao