Frisby.JS – 意外的标记(使用json发送POST时)
我收到以下错误,
Error: Error parsing JSON string: Unexpected token < Given: <html> <body> <p> <b>400.</b> Invalid json request: numOfDays=1&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文档