Wordpress网站上奇怪的json_encode行为

时间:2013-01-10 01:46:34

标签: php json wordpress

我为图像数据创建了一个测试页面。它将在我的浏览器中显示一页JSON图像数据。在我的Firefox Web开发者控制台(见截图)中,我将看到所有六十个图像网址都显示出来,但奇怪的是,图像后还要求大约15或16个Wordpress博客/帖子网址。这些网址在页面源中无处可见,因此我不知道浏览器是如何或为何要求它们。如果结果格式不是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控制台(Tools-&gt; Web Developer-&gt; Web控制台)并确保只选择了“logging”和“net”按钮,然后使用不同的查询加载上面的jsontest.php文件字符串。我在第一个案例中看到除了图像之外还要求了16篇博客文章,即使他们的网址在实际页面中没有任何内容(你可以在这张图片中看到其中的4篇):

Firefox console results

通过非json响应,这些博客文章没有显示出来,这就是我想要的。

我无法理解正在发生的事情。结果需要是JSON,但它不应该请求这些额外的博客帖子。一些奇怪的Web服务器配置会导致这个吗?

0 个答案:

没有答案