ember.js Mirage `passthrough`不工作

68de4m5k  于 2023-06-29  发布在  其他
关注(0)|答案(2)|浏览(118)

我尝试在此Ember project中使用passthrough进行POST请求

this.passthrough('/thirdeye/entity?entityType=ANOMALY_FUNCTION');

这就是app/mirage/config.js中的调用。我得到了以下错误:

Mirage: Your Ember app tried to POST '/thirdeye/entity?entityType=ANOMALY_FUNCTION',
but there was no route defined to handle this request.
Define a route that matches this path in your
mirage/config.js file. Did you forget to add your namespace?

显然,我已经将该调用添加到配置文件中,但它没有被选中。我读到passthrough只适用于>= jquery 2.x,这是我的项目。
有谁知道还有什么可能导致这种情况?

k2fxgqgv

k2fxgqgv1#

我发现问题是我必须做this.passthrough('/thirdeye/***');,因为调用有查询参数。现在起作用了

bf1o4zei

bf1o4zei2#

我根本无法让passthrough工作,我看到的外部URL的示例被忽略了,Github上的响应有点模糊。最后,我可以使用函数override来将模式匹配列入白名单:

this.passthrough(request =>
  [
    /amazon/
  ].some((regex) => regex.test(request.url)));

也就是说,URL中包含amazon的任何内容都将被忽略。
注意,在routes函数的末尾包含。

相关问题