Frisby.JS - 意外令牌(用json发送POST时)

时间:2014-12-11 16:36:31

标签: node.js json frisby.js

我收到以下错误,

 Error: Error parsing JSON string: Unexpected token <
    Given: <html>
<body>
<p>
  <b>400.</b> Invalid json request: numOfDays=1&amp;checkInDate=2013-04-10.
Make sure that key names and text values are quoted with "
</p>
</body>
</html>
Stacktrace:

使用以下代码:

var frisby = require('frisby');

  frisby.create('Ensure proper values in specified keys')
  .post('http://localhost:9090/bookRoom', {"numOfDays": 1 , "checkInDate":"2013-04-10"})
    .expectJSON({
        "checkInDate": "2013-04-10",
        "checkOutDate": "2013-04-11",
        "totalPrice": 130
    })
.toss()

我正在尝试传递此JSON - {“numOfDays”:1,“checkInDate”:“2013-04-10”}

编辑:

传递的JSON似乎是以下格式。我如何摆脱那些反斜杠?

Handling booking request: "{\"numOfDays\":\"1\",\"checkInDate\":\"2013-04-10\"}"

2 个答案:

答案 0 :(得分:1)

Frisby.js的作者在这里。请更新到Frisby v0.8.5 - 这是因为&#34;请求的变化&#34; Frisby依赖和使用的模块。

答案 1 :(得分:0)

我遇到了同样的问题,但我使用了不同的参数进行发布。确切地说,我添加了{json: true}作为第三个参数,经过几分钟的努力,我将其移除并且有效。

看起来你的情况可能反过来了。尝试将第3个参数放在post方法调用中,并希望最好。

相关文档:API docs