2017-07-19 142 views
0

语法错误:意外标记<在JSON在位置0语法错误:意外标记<在JSON在位置0

在检索JSON数据使用此处离子2 是链路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代码的话,我可以没有任何错误运行应用程序。但在线服务器它给出了上面提到的错误 所以是我的代码中的服务器或错误的问题?

+0

看起来像API期待'Cookie'标题:当我在Postman中给它赋值'__test = 53a7c54a89820a57b1404151ef11576c'时,我可以得到JSON(否则,我得到一些带有以下消息的HTML:“此站点要求要使用Javascript,请在​​您的浏览器中启用Javascript或使用支持Javascript的浏览器“)。我猜想是通过为域名areeef.unaux.com设置的实际cookie(无法理解它是如何设置的)执行匹配,因此该特定值可能无法用于您。这看起来像CSRF保护IMO。 – sp00m

+0

试试这个 this.http.get(url,body,options).map(res =>(res ['_ body']))。subscribe(data => { console.log(data); }) ; –

+0

我必须为身体和选项写什么? – Arippe

回答

0

代码没有任何问题。问题是因为你的服务器没有返回有效的JSON。

使用邮递员插件检查API的行为。我检查了它,它返回无效的JSON-

This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support

因此,让你的API首先在邮递员上工作。

+0

我检查了一个有效的json文件..但它仍然给我同样的错误。所以可能是服务器的问题。 – Arippe

+0

你尝试使用邮递员吗? –

+0

这可能是因为服务器配置。 –

相关问题