无法从 php 脚本获取 JSON,但可以从 file.json 获取

Posted

技术标签:

【中文标题】无法从 php 脚本获取 JSON,但可以从 file.json 获取【英文标题】:Can't get JSON from php script but can get it from file.json 【发布时间】:2017-04-21 21:25:30 【问题描述】:

这是我的测试 php 脚本正在做的事情:

$json = array (
    "age" => 5,
    "bob" => "Lee",
);  
$json = json_encode($json);

echo $json;

它可以很好地打印出 json,因为当我将其内容输出到 file.json 并从那里读取它时,ajax 会拾取它。

Ajax 部分:

searchJson(): any 
   
    let items: any = []; 
    $.getJSON('app/php/search.php', 
        function(data)
           
            $.each(data, function (key, val)
               
                console.log(key + " : " + val);
                items.push(`$key : $val`);
            ); 
        ); 
    return items;
 

将 'app/php/search.php' 更改为 'file.json' 将返回非空返回,而现在它什么也不返回。

【问题讨论】:

你尝试获取file.json的部分在哪里? 你可以console.log(data)查看你的response或者你的ajax请求的网络响应 @Nytrix 用 'app/php/search.php' 代替 'app/php/file.json' 就可以了 'app/php/file.json' 与您的代码无关。请告诉我显示的是什么控制台? 我认为当我调用.php 文件时,它会返回实际内容,而不是由 php 处理。因为如果我使用 $.ajax,console.log 会返回所有 $ 符号和 cmets 【参考方案1】:

原来它与从 Angular 2 的给定地址 10.x.x.x:port 运行有关。当它从 www.something.com 运行时,它会正确显示。

【讨论】:

以上是关于无法从 php 脚本获取 JSON,但可以从 file.json 获取的主要内容,如果未能解决你的问题,请参考以下文章

如何从 php 脚本中获取 JSON 格式的 mysql 表的所有值?

无法从 JSON 接收数据 - PHPMyAdmin

从 instagram __a=1 用 php 读取 JSON

将数据从 PHP 脚本发送到 iOS

从数组php获取50条记录

PHP-解码 JSON