【问题标题】:sails couldn't read GET parameter from request after angular hashtag角度标签后,sails 无法从请求中读取 GET 参数
【发布时间】:2016-02-09 04:16:00
【问题描述】:

我尝试将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') == 未定义

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

谢谢,

【问题讨论】:

  • 如果你用的是Angular,用JS向服务器发送http请求,比强行重新加载浏览器不是更好吗?

标签: angularjs node.js sails.js


【解决方案1】:

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

http://localhost?lang=fr

而只是创建函数以合并到您的应用中

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

答案的其余部分取决于您的角度是否设置为使用 html5Mode = true。如果是这样,那么您可以使用 Angular 的 $location.search() 来检索您的值。如果没有,那么您将需要找到一个普通的 javascript 来在页面加载或您需要它的时间/地点获取该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-26
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多