茉莉花模拟-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".
我已经尝试 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".