在有角标签

时间:2015-11-08 11:39:39

标签: angularjs node.js sails.js

我尝试将sails.js集成为路由控制器和api管理,使用angular.js作为前端,但是我在使用angular修改URL时发现了问题

例如/

  

原始网址:http://localhost

经$ location.search修改后({' lang':destLanguage});

  

修改后的网址:http://localhost#?lang=fr

然后我使用$ window.location.reload();重新加载页面以将GET参数发送到sails控制器,但是当我在页面控制器上调试时,我发现sails无法从请求中读取参数。

  

req.param(' lang')== undefined

我不确定如何解决这个问题。我试图解决这些问题整整几天。

谢谢,

1 个答案:

答案 0 :(得分:2)

哈希不是服务器的查询参数。它需要在哈希值之前,或者一起删除哈希值。

http://localhost?lang=fr

而只是创建要合并到您的应用中的功能

var updateLang = function(lang){
 window.location = 'http://localhost?lang=' + lang
}

答案的其余部分取决于你的角度是否设置为使用html5Mode = true。如果是这样,那么你可以使用angular的$ location.search()来检索你的值。如果没有,那么你需要找到一个简单的javascript来抓取页面加载或你需要的时间。