javascript - 在新选项卡中打开页面时,JSON 或 AJAX 请求未显示在控制台中

标签 javascript php json ajax

我正在尝试使用 target="_blank" 在新选项卡中打开链接,但由于某种原因它不起作用。

link.php

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

somejs.js

 function loadFunction() {
    $.getJSON("data.php", function (data) {
        info = data.info;
        console.log(info);
    });
 }
 loadFunction();

如您所见,somejs.js 包含 JSON 脚本。 当 link.php 的页面在新选项卡中加载时,JSON REQUEST 不会显示在控制台中。但是,如果我先刷新页面,则请求将显示在控制台中。当我尝试在新选项卡中手动打开页面时,JSON REQUEST 也可用。

怎么了?

这是截图

直接链接或刷新

refresh

新标签

newtab

最佳答案

从评论中我认为存在术语混淆。当您提到您在控制台中没有看到请求时,我相信您指的是网络调试器。

控制台有所不同,这就是为什么其他用户告诉您如果您希望在 Javascript 控制台上看到任何内容,请使用 console.log()

您所遇到的情况是浏览器的特殊情况。如果您在加载页面之前打开了调试器/检查器,则“网络”选项卡应显示通过 AJaX 完成的任何请求。如果没有,那么浏览器端的一些技术问题会阻止显示它,但调用已完成(您可以通过 console.log() 进行测试)。

When link.php's page is loaded in a new tab, the JSON REQUEST is not shown in the console.

JSON REQUEST is also available when I try to open the page in a new tab manually.

从这两条评论中,我推断出您在“网络”选项卡上看不到调用的唯一情况是当您的页面 A 带有在新选项卡上打开 link.php 的链接时。

如果是这种情况,那是因为您正在查看的调试器属于页面 A。然后您打开一个新选项卡,该选项卡尚未打开调试器,并且任何从 link.php 完成的请求 没有任何地方可以显示。

如果您在打开自己的调试器面板的情况下刷新 link.php,那么您确实会看到该请求。如果您在已打开调试器的新选项卡中手动调用 link.php ,情况也是如此。

关于javascript - 在新选项卡中打开页面时,JSON 或 AJAX 请求未显示在控制台中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41236898/

相关文章:

json - 类型错误 : Object of type 'complex' is not JSON serializable while using pyLDAvis. display() 函数

python - JSON 序列化 Python 枚举对象

javascript - 简单的 HTML 页面出现 JS 错误 - "SyntaxError: missing ; before statement"和 "ReferenceError: calculateAdvantage is not defined"

javascript - 在 gulp-inject 索引任务上对文件进行排序

javascript - 交易后检测到无法访问的代码

javascript - AJAX、子域和 SSL

php - Facebook 好友数?

php - 专家对 mySQL 表中大量列的意见?

php - 从 symfony 中的 cron 任务发送电子邮件

JSON 在 go 中将相同的结构编码/解码为不同的 JSON 格式?