我使用mockjax来模拟一个Ajax调用,但我遇到我的Ajax回调接收到的数据是从我传递给mockjax(通过“responseText的”参数)的不同。 在这个例子中,我所选择的响应是'14 0.0' ,但回调接收‘14’,而不是:
$.mockjax({
url: "/test",
contentType: "text/json",
responseText: "14.0"
});
$.ajax({
url: "/test",
datatype: "json"
}).done(function(data) {
alert(data);
});
为什么它接收到的数据是从我指定给不同responseText
? 见这琴的工作示例; 一个弹出式对话框将显示由回调收到的字符串,应该是“14”。
编辑:
这是弹出运行小提琴时,表明从mockjax改变的响应,我得到。
此外固定小提琴。
如果你改变两个小东西,你希望上面的代码将工作。
在上面的代码片段中的contentType中提到的$ .mockjax是“text / JSON”。 在这种情况下,responseText的需要是object
,它表示JSON。 https://github.com/appendto/jquery-mockjax
$.mockjax({
url: "/test",
contentType: "text/json",
responseText: { number: 14.0 }
});
此外,在$就调用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/
我希望帮助你过去的问题。