javascript - 从 API 接收 JSON 对象时出错

标签 javascript json ionic-framework ionic2

我正在从 ionic 应用程序(Angular4)发出 http 请求并接收 Js 对象形式的响应,但在接收时我收到一些错误。

这是我从 API 接收的对象

{"up_votes":"1","down_votes":"0"}

使用http.get接收app、home.ts中的数据

..
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)

谁能帮我解决这个问题。

最佳答案

this.vote_response = result.json();

将其替换为 console.log(result) 并获取数据并使用某些在线 JSON 验证站点 ( https://jsonlint.com ) 检查数据是否是有效的 JSON。您可能会获取 HTML 正文而不是 JSON。

以 JSON 形式响应:

header('Content-Type: application/json');
echo  json_encode(array('up_votes'=>$up_votes, 'down_votes'=> $down_votes ));

关于javascript - 从 API 接收 JSON 对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44364436/

相关文章:

javascript - 调用函数时出现意外的 token } 错误

javascript - 在 Vue JS 上根据父属性生成 id

javascript - 如何更改单击时按钮的类别

javascript - 我该如何解决这个 Q.denodify 测试?

sql - 在 Redshift 中使用 json_extract_path_text 时如何跳过错误?

angular - 将 ion-fab 按钮水平居中对齐

javascript - ng-show 不适用于 Ionic 框架

c# - 无法加载文件或程序集 'Newtonsoft.Json, Version=10.0.0.0' - 但是二进制文件存在于 bin 文件夹中

javascript - 此 package.json 文件需要更改哪些内容才能使用 npm 0.3.0?

ios - Ionic iOS App 错误 - 'WEB' 客户端类型不允许使用自定义方案 URI