我曾尝试模拟/存根我的ajax调用,但看起来它只适用于文本。当我试图用对象设置响应时,我完成的回调不会被调用:
jasmine.Ajax.stubRequest('/some_url/1').andReturn({
//"responseText": response ,
"response": response,
"status": 200
});
,但当我用对象设置responseText时,它会被调用,但responseJSON没有被设置,当在FF 中调试响应时
responseJSON undefined
status 200
statusText "success"
我是做错了什么还是有问题?
我正在使用Jasmine 2.1.3和最新版本的Jasmine ajax(老实说,我不知道在哪里可以找到我正在使用的版本…;-),我刚刚从github文档中的链接下载了mock-ax.js)
更新:这是我的错。我试着推送普通的Object
,当使用JSON.stringify
并将结果传递给"responseText"时,它就工作了!
您需要使用"responseText"或"responseJSON",而不是使用"response"属性,这取决于存根数据的类型。
如果您的响应已经解析为JSON(即,一个实际的JSON对象,而不是字符串),那么请使用"responseJSON"。