jQuery 的 $.get() $.post() 方法参数中的回调 callback 没有被调用

  1. 在学习 jQuery 的过程中,使用以下最简单的一个 $.get() 的脚本,在 Firefox 上调试后,发现 http 请求成功,响应的状态是200,且有正常的响应体,但是 alert 方法没有执行,请问是怎么回事呢?
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Le Fisherman</title>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <script>
        $(document).ready(function () {
            $('#get-btn').click(function () {
                $.ajaxSetup({"Cache": "False"});
                $.get("http://www.runoob.com/try/ajax/demo_test.php", function (data, status) {
                    alert('data: ' + data + '\nstatus: ' + status);
                });
            });
        });
    </script>
</head>
<body>
<button id="get-btn">Get Content</button>
</body>
</html>

firefox 截图1

firefox 截图2

请问是怎么回事呢?

阅读 2.5k
2 个回答
  1. 养成看控制台、使用Console的习惯。
  2. 有很大的可能是跨域了,你没看控制台(有提示),所以莫名其妙。跨域会正常发出请求和接收响应(网络上),但是会被浏览器的安全策略所阻止。

首先我们一般选择开发者模式,不会去用alert,alert后面的程序会被终止,如果需要弹出框效果也是自己封装的,然后呢,你可以以换成ajax或者post试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题