javascript - 为什么我的 jQuery + AJAX 停止工作了?

标签 javascript jquery ajax

我是 JavaScript/jQuery/AJAX 的新手,所以我怀疑这个问题是我没有看到的一些拼写错误。它工作正常,但在编辑 hide() + show() 方法的某个时候停止工作(在 Firefox + Chrome 中测试过)。我仔细研究了很多次,看不出有什么问题。

script.js

$(document).ready(function(){

    $('p').click(function() {
        $(this).hide();
    })

    $('#nav li a').click(function(){
        var toLoad = $(this).attr('href')+' #content';

        $('#content').hide('fast',loadContent);

        function loadContent() {
            $('#content').load(toLoad,'',showNewContent())
        }

        function showNewContent() {
                $('#content').show('normal');
        }
        return false;
    });
});

在我的 index.html 页面中,以下脚本包含在 <head> 中部分:

<script src="script.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

最佳答案

您需要在您的script.js 之前包含jQuery。

JavaScript 代码是同步执行的。在您的示例中,$ 是(或至少应该是)undefined,当然 undefined 没有类似 jQuery 的方法。

此外,您的回调之一定义为 showNewContent()。末尾的括号将调用该函数并将其结果作为回调传回,这不是您在这种情况下想要的。

相反,删除 () 以仅传递对函数的引用。

关于javascript - 为什么我的 jQuery + AJAX 停止工作了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052420/

相关文章:

javascript - 如何将图像加载到 HTML Canvas

javascript - 我可以在 asp.net MVC 中实现任何 Yahoo YUI 验证框架吗?

javascript - 禁用 jquery 数据表中的按钮

jquery - 如何隐藏然后向左滑动搜索框?

javascript - 无法使用 AJAX 调用从 JSON 对象获取值

javascript - 为什么 jQuery 扩展方法不复制我的 javascript 对象?

javascript - 使用 jquery ajax 加载整个页面

javascript - 如何在 TypeScript 中将类方法附加为 jQuery 事件处理程序

jquery - 在 http 页面上使用 https 的 Ajax

php - Ajax 不发布到 MYSQL 或在提交时显示成功/错误消息