茉莉花模拟-ajax 与 JSON

jasmine mock-ajax with JSON

我已经尝试 mock/stub 我的 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)

文档中 link 的 mock-ajax.js

更新: 这是我的错。我曾尝试推送普通 Object,当使用 JSON.stringify 并将结果传递给 "responseText" 时,它起作用了!

您需要使用 "responseText" 或 "responseJSON",而不是使用 "response" 属性,具体取决于存根数据的类型。

如果您的响应已被解析 JSON(即实际的 JSON 对象而非字符串),则使用 "responseJSON".