【问题标题】:SyntaxError: Unexpected token h in JSON at position 0 at JSON.parse: mean stackSyntaxError:JSON.parse 中位置 0 处 JSON 中的意外标记 h:平均堆栈
【发布时间】:2018-10-05 18:32:30
【问题描述】:

这是我的离子代码

dialogflow(question) {
    let headers = new Headers();
    headers.append('Content-Type','application/json');
    return this.http.post('http://localhost:3000/api/dialogflow',question,{headers: headers})
    .map(res => res.json());
  }

在控制台日志中我收到错误

POST http://localhost:3000/api/dialogflow 400(错误请求) 这是来自路由文件(后端)

router.post('/dialogflow', function(req,res) {
  console.log('reached here');

在后端(平均)控制台中,它抛出一个错误

SyntaxError: Unexpected token h in JSON at position 0
    at JSON.parse (<anonymous>)
    at createStrictSyntaxError (D:\product\project-1\node_modules\body-parser\lib\types\json.js:158:10)
    at parse (D:\product\project-1\node_modules\body-parser\lib\types\json.js:83:15)
    at D:\product\project-1\node_modules\body-parser\lib\read.js:121:18
    at invokeCallback (D:\product\project-1\node_modules\raw-body\index.js:224:16)
    at done (D:\product\project-1\node_modules\raw-body\index.js:213:7)
    at IncomingMessage.onEnd (D:\product\project-1\node_modules\raw-body\index.js:273:7)
    at emitNone (events.js:106:13)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

我该如何解决这个问题?

【问题讨论】:

  • 你的 question 对象是什么样子的?
  • 它不是一个对象,它只是一个字符串。现在我已将其转换为可以正常工作的对象。

标签: angular express ionic3 httprequest mean-stack


【解决方案1】:

发送的对象没有正确序列化。

at JSON.parse (<anonymous>)
at createStrictSyntaxError (D:\product\project-1\node_modules\body-parser\lib\types\json.js:158:10)
at parse (D:\product\project-1\node_modules\body-parser\lib\types\json.js:83:15) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多