【发布时间】:2017-10-07 17:34:04
【问题描述】:
我知道这种问题已经发布了,但是......不明白为什么我得到了:
'isTrusted': true
从 Ionic 2 调用 PHP API 之后。
我的代码是:
getProduct(id: string){
if(this._product){
console.log('Returns : ' + JSON.stringify(this._product));
return Promise.resolve(this._product);
}
console.log('getProduct : ' + Constants.EZ_GETPRODUCT_URI + ean + ' from PHP API');
return new Promise(resolve => {
this.http.get(Constants.EZ_GETPRODUCT_URI + id)
.map(res => {
console.log('headers : ' + res.headers);
return res.json();
})
.subscribe(product => {
console.log('Datas : ' + JSON.stringify(product));
this._product = product;
resolve(this._product);
}, error => {
console.log('Error: ' + JSON.stringify(error.json()));
});
});
}
在后端,返回的数据是:
return "{'ean':'7613035010550','title':'Eau Min\u00e9rale Naturelle','image': 'https:\/\/static.openfoodfacts.org\/images\/products\/761\/303\/501\/0550\/front_fr.11.400.jpg','brands':'Vittel','categories':['Boissons','Eaux','Eaux min\u00e9rales','Eaux min\u00e9rales naturelles','Boissons non sucr\u00e9es'],'quantity': '1.5 l.'}";
并且总是有相同的结果:
{"isTrusted":true}
如果我记录 res :
{"_isScalar: false, "source": {"_isScalar": false}, "operator": {}}
只是说如果从浏览器调用 API,我会得到带有 JSON 标头的正确结果。
注意:API 是在我的 LAN 上调用的
(http://192.168.1.xxx/res/GetProduct/nnnnnnnn)
为什么无法正确检索 JSON 对象?
问候,
JL
【问题讨论】:
-
您是否检查过您从网络选项卡收到的内容?我看到您已经输入了后端返回的内容,但我想这不是来自开发工具中的网络选项卡?
-
将通过检查器检查服务器返回的内容......并告诉你什么......谢谢
-
如果我直接从浏览器(即 Chrome)运行,得到的标头不是 json 标头,也许我的脚本返回错误的标头...但是,内容就是我等待的...跨度>
-
你能展示你的 PHP 脚本吗?我不是真正的 PHP 专家,只是使用了一点 :P 但是您返回的数据类似于
echo json_encode(....);还记得使用json_encode吗? -
是的...使用一些类返回json,但是,只需将我的代码更改为以这种方式返回:
标签: php json angular xmlhttprequest ionic2