首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mockjax动态模拟停止使用`dataType=“脚本”

问Mockjax动态模拟停止使用`dataType=“脚本”
EN

Stack Overflow用户
提问于 2014-03-20 11:58:41
回答 1查看 468关注 0票数 1

我有一个使用mockjax的动态模拟设置,它适用于我的大多数ajax请求,但是当dataType设置为Script时失败,并让请求传递到常规的Ajax处理程序。

代码语言:javascript
复制
// 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定义的示例代码

我正在创建动态模拟,所以我定义的是函数,而不是普通的对象,类似于.

代码语言:javascript
复制
$.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;
});
EN

回答 1

Stack Overflow用户

发布于 2014-03-20 13:14:31

您是否在模拟的端点中设置dataType属性?

请参阅:https://github.com/appendto/jquery-mockjax#data-types

如果是,您是否尝试过将模拟dataType设置为application/javascript?

代码语言:javascript
复制
$.mockjax({
    type: "GET",
    dataType: "application/javascript",
    url: "myfile.js?_=1395314460347",
    responseText: "(function () { alert('hello world!'); }());"
});

$.ajax({
    type: "GET",
    dataType: "script",
    url: "myfile.js?_=1395314460347"
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22532271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档