为什么$ .get()不起作用? $ .ajax()工作正常

时间:2018-12-05 03:03:30

标签: jquery ajax

///此处的AJAX不适用于本地文件,但适用于github链接。

<html lang="en">
    <head>
        <meta http-equiv="content-type" content="text/php; charset=utf-8" />
        <title>AJAX</title>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    </head>

    <body>
        <p>This is  some sdvs</p>
        <script type="text/javascript">
            $.get("info.txt", function(data) {
                alert(data);
            });
        </script>
    </body>
</html>

///这是AJAX获取请求在本地文件上起作用的代码的主体。为什么它可以在这里工作,但不能在第一个文件中工作?

<body>
  <button id="cat-button">magical cat button</button>
  <div id="images">
  </div>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script type="text/javascript">

    $("#cat-button").on("click", function() {
      var queryURL = "https://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=cats";
      $.ajax({
        url: queryURL,
        method: "GET"
      })
        .then(function(response) {
          var imageUrl = response.data.image_original_url;
          var catImage = $("<img>");
          catImage.attr("src", imageUrl);
          catImage.attr("alt", "cat image");
          $("#images").prepend(catImage);
        });
    });
  </script>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

我相信是因为在第一个版本中,您没有在执行$ .get()之前检查是否已加载jQuery。

尝试在以下内容中包装您的JS ...

$.function() {
    //$.get() here
 }