我为图像数据创建了一个测试页。它将在我的浏览器中显示一页 JSON 图像数据。在我的 Firefox Web 开发者控制台(见截图)中,我会看到所有 60 个图片 url 都出现了,但奇怪的是在图片之后还请求了大约 15 或 16 个 Wordpress 博客/帖子 url。这些 url 在页面源中无处可见,因此我不知道浏览器如何或为什么请求它们。如果结果格式不是 json 编码的,我看不到这些无关的帖子出现。
这是我的测试代码,精简到最基本的部分:
<?php
if( !empty($_REQUEST['json']) ){
//get image data here
$images = array();
$imagesjson = file_get_contents('test.json');
$images = json_decode($imagesjson);
$result['images'] = $images;
// return results
if ($_REQUEST['json'] == 'json') {print_r(json_encode($result));}
else {print_r($result);}
}
?>
你可以在这里看到它的实际效果:
http://www.bangstyle.com/test/jsontest.php?json=json - json 结果
http://www.bangstyle.com/test/jsontest.php?json=nojson - 非 json 结果
我打开了一个 Firefox Web 控制台(工具->Web 开发人员->Web 控制台)并确保只选择了“日志记录”和“网络”按钮,然后使用不同的查询字符串加载了上面的 jsontest.php 文件。在第一种情况下,我看到除了图片之外还请求了大约 16 篇博客文章,尽管它们的网址在实际页面中没有(你可以在这张图片中看到其中 4 篇):
对于非 json 响应,这些博客文章没有出现,这正是我想要的。
我只是无法理解正在发生的事情。结果需要是 JSON,但它不应该请求这些额外的博客文章。一些奇怪的网络服务器配置会导致这种情况吗?