出于某种原因,这个 AJAX 将在一个项目中工作,但在另一个项目中不起作用

For some reason this AJAX will work in one project, but not in another

所有目录都是正确的,我已经包含了 jQuery 并且 PHP 脚本只是在回显一个字符串。我已经检查了所有内容,但找不到任何问题。这是代码:

// script.php
echo "hello";

// HTML
<button type="button"></button>

// jQuery/AJAX
<script type="text/javascript">

    $(document).ready(function() {
        $("button").click(function() {
            $.ajax({
                type: 'POST',
                url: 'script.php',
                success: function(data) {
                    alert(data);
                }
            });
        });
    });

</script>

为什么这不起作用?我真的看不出一个问题...我是否犯了一个愚蠢的错误,或者如果不是,可能是什么原因导致了这个错误?

此外,如果我决定这样做,我怎样才能做到这一点,这样我就不必使用 "url: 'script.php'" 而是在页面中包含 script.php 和 jQuery/AJAX代码?

感谢您的帮助,我一直在构建一个项目,但由于编程乏味,我不得不每 5 分钟问一次问题:)

编辑 ***

我查看了控制台并发现了这个错误 "Uncaught ReferenceError: $ is not defined"。这是截图

尝试使用这套完整的代码。

一对支票:

  • 检查 script.php 是否拼写正确,文件名是否不是 scripts.php。
  • 确保 script.php 页面包含以下代码:
   <?php
     echo "hello";
   ?>

完整代码文件

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $("button").click(function() {
                $.ajax({
                    type: 'POST',
                    url: 'scripts.php',
                    success: function(data) {
                        alert(data);
                    }
                });
            });
        });

   </script>
   </head>
   <body>
        <button type="button"></button>
   </body>
</html>

你可以试试这个代码

<button type="button" id="btn"></button>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

// jQuery/AJAX

<script type="text/javascript">

    $(document).ready(function() {
        $("#btn").click(function() {
            $.ajax({
                type: 'POST',
                url: 'script.php',
                success: function(data) {
                    alert(data);
                }
            });
        });
    });

</script>

鉴于 Uncaught ReferenceError: $ is not defined 错误 jQuery 无法包含。

这可能有几个可能的原因:

  • 您忘记为其添加脚本标签
  • 您将 jQuery 脚本标记放在带有您的代码的标记之后,确保 jQuery 位于第一个
  • 脚本标签或周围的标签格式不正确(可能您没有在它之前关闭标签或者 head 标签没有关闭)
  • URL可能是错误的
  • 如果您正在托管该文件,则该文件可能尚未上传
  • 您可能在某处有一个脚本覆盖了 $ 或 jQuery