Frisby.JS – 意外的标记(使用json发送POST时)

我收到以下错误,

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\"}" 

这里是Frisby.js的作者。 请更新到Frisby v0.8.5 – 这是由于Frisby依赖和使用的“请求”模块的更改。

我刚刚遇到同样的问题,但我使用不同的参数后。 准确地说,我添加了{json: true}作为第三个参数,经过几分钟的挣扎之后,我删除了它,并且工作。

看起来你的情况可能是相反的。 试着把第三个参数放在post方法调用中,希望最好。

相关文档: API文档