【问题标题】:Unexpected value in JSON reposnse after receiving in CoffeeScript在 CoffeeScript 中接收后 JSON 响应中的意外值
【发布时间】:2013-12-28 22:45:04
【问题描述】:

我在咖啡脚本中使用简单的 http 客户端。它应该向响应 JSON 的服务器发送请求,我这样做并尝试解析响应,但得到奇怪的结果:

http = require 'http'

http.get { host: 'myurl' }, (res) ->
    data = ''
    res.on 'data', (chunk) ->
        data += chunk
        log 'Body: ' + chunk
    log 'Data: ' + data

来自服务器的实际结果如下所示:

config{
    username: login,
    password: password
}

但我得到这样的输出:

Body: config{username:login,password: password}
Data: config{username:login,password: password}:unexpected

当我尝试解析 JSON 中的数据并使用它时,我得到了一个错误,我想这是因为我得到了令牌':enexpected'。为什么会出现在这里?

附:凭记忆写代码,导致原始源现在不可用,所以这里可能会出现语法错误,但不要在原始代码中考虑它们一切正常。

【问题讨论】:

    标签: json coffeescript


    【解决方案1】:

    不太确定这是否是相关问题,但您正在尝试立即打印数据,而不是等待请求完成。你应该做的是等待end事件:

    http.get { host: 'myurl' }, (res) ->
      data = ''
      res.on 'data', (chunk) ->
        data += chunk
        log 'Body: ' + chunk
      # request might - and might not - be finished yet
      # log 'Data: ' + data
      res.on 'end', ->
        # request is certainly done
        log 'Complete: ' + data
    

    如果您按照发布的方式获得了完整的数据,这可能是偶然的,或者您已经在使用此处理程序。

    【讨论】:

    • 它没有与异步请求连接。这种后缀“未定义”有时会在其他一些变量的输出中注意到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2017-09-12
    • 1970-01-01
    相关资源
    最近更新 更多