我正在使用mockjax来模拟Ajax调用,但我遇到的是我的Ajax回调接收的数据与我传递给mockjax的数据不同(通过'responseText'参数)。在这个例子中,我选择了响应为'14 .0',但回调收到'14'而不是:
$.mockjax({
url: "/test",
contentType: "text/json",
responseText: "14.0"
});
$.ajax({
url: "/test",
datatype: "json"
}).done(function(data) {
alert(data);
});
为什么收到的数据与我指定的responseText
不同?有关工作示例,请参阅this fiddle;弹出对话框将显示回调收到的字符串,应为'14'。
修改
这是我在运行小提琴时获得的弹出窗口,展示了mockjax的响应变化。
还修复了小提琴。
答案 0 :(得分:4)
如果您更改了两件小事,则上述代码段将按预期运行。
在上面的代码片段中,$ .mockjax中提到的contentType是“text / json”。在这种情况下,responseText需要是表示JSON的object
。 https://github.com/appendto/jquery-mockjax
$.mockjax({
url: "/test",
contentType: "text/json",
responseText: { number: 14.0 }
});
此外,在$ .ajax调用中,datatype
密钥应为dataType
http://api.jquery.com/jquery.ajax/
$.ajax({
url: "/test",
dataType: "json"
}).done(function(data) {
console.log(data);
});
我在以下jsFiddle http://jsfiddle.net/elijahmanor/BtuW8/
中进行了更改我希望能帮助你克服这个问题。