风帆给“get”参数赋予了“404”。

我有SPA帆船应用程序。 所有路线我的SPA应用程序,首先进入欢迎行动控制器。

'/*' :{ controller : 'Web/welcomeController', skipAssets : true } 

所有其他路线使用像API,阿贾克斯请求。 这条路线“/ *”只用于第一个渲染页面。 所有其他人提供angularjs。 在那里,一个路由有点参数。

 http://localhost:1337/search?lat=40.714545&long=-74.007112 

我得到404错误。 所有这些都是由skipAsset参数引起的,它忽略了带有内容点的url。

我需要控制器也跳过像图像,JS等资产资源。 但正确处理请求与获取参数的内容点/ ? /?lat=40.714545&long=-74.007112

skipAssets应该可能被修复以忽略查询string。 但在此期间,您可以使用skipRegex而不是skipAssets 。 从定制路线上的Sails.js文档 :

如果跳过每个包含点的URL太宽松,或者您需要根据完全不同的标准跳过路由处理程序,则可以使用skipRegex。 此选项允许您指定正则expression式或正则expression式数组,以匹配请求URL; 如果任何匹配成功,则跳过处理程序。 请注意,与使用正则expression式绑定处理程序的语法不同,skipRegex需要实际的RegExp对象,而不是string。

所以像这样:

 '/*' :{ controller : 'Web/welcomeController', skipRegex : /^[^?]+\./ } 

可能就足够了。