【发布时间】:2017-12-24 16:49:53
【问题描述】:
SyntaxError: 位置 0 处 JSON 中的意外标记
使用 ionic 2 检索 json 数据时 这是链接http://areeef.unaux.com/php/platforms.php
这是我用来获取 json 数据的代码
constructor( public navCtrl: NavController, private http: Http) {
this.http.get('http://areeef.unaux.com/php/platforms.php').map(res => res.json()).subscribe(data => {
console.log(data);
}); }
当我在本地主机上运行相同的 php 代码时,我可以运行该应用程序而不会出现任何错误。但在在线服务器中,它给出了上述错误 那么这是服务器的问题还是我的代码中的错误?
【问题讨论】:
-
看起来 API 需要一个
Cookie标头:当我在 Postman 中给它值__test=53a7c54a89820a57b1404151ef11576c时,我可以得到 JSON(否则,我会得到一些带有以下消息的 HTML:“本网站需要 Javascript 才能运行,请在您的浏览器中启用 Javascript 或使用支持 Javascript 的浏览器”)。我猜匹配是使用为域 areeef.unaux.com 设置的实际 cookie 执行的(虽然无法理解它是如何设置的),所以这个特定的值可能不适合你。这看起来像一个 CSRF 保护 IMO。 -
试试 this.http.get(url,body,options).map(res=> (res['_body'])).subscribe(data => { console.log(data) ; });
-
我必须为正文和选项写什么?
-
很抱歉,如果您使用的是不需要选项和正文,但我希望您通过 URL 发送一些数据。
-
我检查了一个有效的 json 文件..但它仍然给我同样的错误。所以可能是服务器的问题。
标签: json http ionic-framework