如何处理包含“的搜索查询”/&引用;在Ember.js应用程序中?

如何处理包含“的搜索查询”/&引用;在Ember.js应用程序中?,ember.js,Ember.js,我创建了一个小应用程序,它接受搜索查询并返回模拟内容。您可以在此处看到该应用程序: 当通过搜索而不是url输入查询时,它可以正常工作 如何正确处理通过url输入的带有“/”的搜索查询?您可能不应该将关键字直接放入url中。而是首先使用模型钩子中的encodeURIComponent对其进行转义,然后使用decodeURIComponent对其进行取消转义。粗略的代码如下所示: serialize : function(model){ // model is the keyword in yo

我创建了一个小应用程序,它接受搜索查询并返回模拟内容。您可以在此处看到该应用程序:

当通过搜索而不是url输入查询时,它可以正常工作


如何正确处理通过url输入的带有“/”的搜索查询?

您可能不应该将关键字直接放入url中。而是首先使用模型钩子中的
encodeURIComponent
对其进行转义,然后使用
decodeURIComponent
对其进行取消转义。粗略的代码如下所示:

serialize : function(model){
  // model is the keyword in your case
  return {keyword: encodeURIComponent(model)};
},
model : function(params){
  var keyword = decodeURIComponent(params.keyword);
  // do what you need to do with the keyword
}

你认为正确处理这些查询是什么?这是一个很好的问题。我想,与通过搜索字段输入时相同。这可能吗?这只会影响关键字在路由之间的传递方式,这不是问题。(我认为)问题在于路由器如何处理参数。相信我。将“/”作为普通字符插入URL,如果查看控制台,您将看到
断言失败:URL“/search/”与应用程序中的任何路由都匹配。所以,做适当的逃避和逃避,它会起作用。好的,我会尝试一下。谢谢Serialize方法在Ember 2.1中没有被命中