我有一个使用 mockjax 的动态模拟设置,它适用于我的大多数 ajax 请求,但是当dataType
设置为时失败Script
,并让请求通过常规 Ajax 处理程序。
// gets mocked
$.ajax({
type: "GET",
url: "http://myurl.com/myfile.js?_=1395314460347"
})
// does not get mocked!
$.ajax({
type: "GET",
dataType: "script",
url: "http://myurl.com/myfile.js?_=1395314460347"
})
如何在 mockjax 中配置动态模拟来拦截带有dataType
集合的请求?
更新:mockjax 定义的示例代码
我正在创建动态模拟,所以我通过函数定义,而不是普通对象,像这样......
$.mockjax(function(settings) {
// settings.url == '/restful/<service>'
var service = settings.url.match(/\/restful\/(.*)$/);
if ( service ) {
return {
proxy: '/mocks/' + service[1] + '.json',
// handle `dataType: 'script'`
dataType: 'application/javascript'
};
}
return;
});