【发布时间】:2017-11-05 23:03:51
【问题描述】:
我正在从 ionic 应用程序(Angular4)发出一个 http 请求并以 Js 对象的形式接收响应,但在接收时我遇到了一些错误。
这是我从 API 接收的对象
{"up_votes":"1","down_votes":"0"}
在app、home.ts中使用http.get接收数据
..
public vote_response:any={};
...
this.http.get(this.baseURI+'votesNum.php?'+this.question.question_id)
.subscribe(result =>{this.vote_response = result.json();});
这是我收到的错误:
ERROR SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at Response.Body.json (http.es5.js:800)
at MapSubscriber.project (forum-quest-details.ts:44)
at MapSubscriber._next (map.js:77)
at MapSubscriber.Subscriber.next (Subscriber.js:89)
at XMLHttpRequest.onLoad (http.es5.js:1229)
at t.invokeTask (polyfills.js:3)
at Object.onInvokeTask (core.es5.js:4119)
at t.invokeTask (polyfills.js:3)
at r.runTask (polyfills.js:3)
谁能帮我解决这个问题。
【问题讨论】:
-
您可能没有收到您认为的对象。调试代码并检查。
-
Arg0n 有一点。您可能正在接收和 xml。暗示第一个字符是“
-
尝试 JSON.stringify 结果并 console.log 它,然后看看它说了什么。可能有几件事,比如你的参数是错误的,它会发送一个 html 页面作为回报或什么
-
我认为通过该请求,您正在获取 php 文件而不是 JSON 字符串,这就是为什么您在位置
0处获得<的原因。您应该检查 urlthis.baseURI+'votesNum.php?'+this.question.question_id是否正确。 -
是的,你是正确的 Arg0n。我得到这是 _body 的 console.log(res) 的输出:
<br />↵<b>Notice</b>: Undefined index: question_id in <b>C:\xampp\htdocs\success\team\votesNum.php</b> on line <b>5</b><br />↵{"up_votes":"0","down_votes":"0"}我正在使用echo json_encode(array('up_votes'=>$up_votes, 'down_votes'=> $down_votes ));从 php 服务器获得响应,谁能告诉我如何解决这个问题?跨度>
标签: javascript json ionic-framework ionic2