无法从 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 表的所有值?