Angular 2正在使用以下代码访问我的php文件:
this._http.get('../api/src/1.0/get/images.php').subscribe(res => {
alert(JSON.stringify(res));
});
提供此警报LocalHost:3000说
{
"_body": "<?php\n\nrequire_once '../../orm/connection.php';\n\n$images = R::getAll( 'SELECT * FROM image');\nheader('Content-Type: application/json');\necho json_encode($images);\n\n?>\n",
"status": 200,
"statusText": "Ok",
"headers": {
"Date": ["Sat",
" 13 Feb 2016 21:11:26 GMT"],
"Cache-Control": ["public",
" max-age=0"],
"Last-Modified": ["Sat",
" 13 Feb 2016 20:39:49 GMT"],
"Accept-Ranges": ["bytes"],
"ETag": ["W/\"a7-152dc5c6608\""],
"Content-Length": ["167"],
"Content-Type": ["application/octet-stream"]
},
"type": 2,
"url": "http://localhost:3000/api/src/1.0/get/images.php"
}
PHP文件
<?php
require_once '../../orm/connection.php';
$images = R::getAll( 'SELECT * FROM image');
header('Content-Type: application/json');
echo json_encode($images);
?>
我希望警报只包含JSON数据。 如果我通过它的url直接转到文件,它只给我JSON数据。 我怎么做到这一点?
答案 0 :(得分:1)
您正在位置../api/src/1.0/get/images.php
调用静态文件,并获得它的内容。
您必须使用服务器运行.php文件,而不是使用http.get(...)
调用它。您可以使用带有php -S localhost:3333
的php localhost服务器,您需要在项目根目录中运行此命令(php项目)
答案 1 :(得分:1)
根据您的回复,您似乎要求images.php
为"Content-Type":["application/octet-stream"]
。尝试配置http.get()
以询问json:
const HEADER = { headers: new Headers({ 'Content-Type': 'application/json' }) };
this._http.get('../api/src/1.0/get/images.php', HEADER).subscribe(res => {
alert(JSON.stringify(res));
});