jQuery和Ajax:ReferenceError:ajax未定义。

3

当我尝试发起ajax调用时,浏览器控制台出现了

ReferenceError: ajax is not defined

错误信息。

我非常确定我已正确加载了jQuery库,因此我不明白为什么$.ajax函数未被定义。

以下是HTML代码(不包括无关的CSS和标记):

<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type="text/javascript" src="js/script.js"></script>
    </head>
    <body>
        <div>
            <a class="getUsersA">Get users</a>
            <div id="gridD"></div>
        </div>
    </body>
</html>

这是script.js文件:

$(document).ready(function() {
    $(".getUsersA").click(function() {
            $.ajax({
                url:ajax/getUsers.php,
                type:POST,
                data:({
                    id:0
                }),
                success:function(results) {
                    $("#gridD").html(results);
                }
            });
    });
});

感谢您提供的任何帮助!

1
你有一些语法错误... 希望这些错误不会出现在实际文件中,例如 'ajax/getUsers.php''POST' - Arun P Johny
4
这个问题似乎不在话题范围之内,因为它是一个打字错误。 - Kevin B
3个回答

7
您需要将 ajax/getUsers.php 用引号括起来,否则它会寻找一个名为 ajax 的局部变量而不是将其视为字符串。
url: "ajax/getUsers.php",

类似于这样:

$.ajax({
    url: 'ajax/getUsers.php',
    type: 'POST',
    data:({
        id: 0
    }),
    success:function(results) {
        $("#gridD").html(results);
    }
});

谢谢!现在一切都正常了!我还必须用引号包装POST。 - user2807746
没错。我在完整的示例中展示了这一点。如果有用的话,请将答案标记为已接受。 - karthikr

2
您在这一行上有语法错误:

url:ajax/getUsers.php,

将此更改为:

url:"ajax/getUsers.php",

2

您应该将字符串(或包含字符串的变量)作为url选项传递,但您实际上做的是:

url:ajax/getUsers.php,

将其改为:

url:'ajax/getUsers.php',

您现在所拥有的是在寻找变量ajax(该变量不存在),然后试图将其除以由getUsers引用的对象的php属性(该属性也不存在),然后将结果设置为url选项的值。请注意保留HTML标签。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接