首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Play Framework & Angularjs从本地主机重定向问题

使用Play Framework & Angularjs从本地主机重定向问题
EN

Stack Overflow用户
提问于 2015-09-27 13:24:25
回答 2查看 1.1K关注 0票数 1

我使用Play Framework和Angularjs作为我的应用程序。我的要求是重定向播放框架页面的基础上选择的一些参数的UI。

这是我的密码

在第一页打开引导模式对话框和提交动作调用角post方法,

代码语言:javascript
运行
复制
$scope.loginToExt = function() {

  var data = $scope.env;

  $http.post('/login', {env: data})
    .success(function(data){
      //$scope.env = data
    })
    .error(function(data){
      console.log(data)
    });
};

一旦我点击我的模式提交,它将调用‘/登录’,并且基于我的路径映射将调用下面的操作方法,

代码语言:javascript
运行
复制
def login = Action(parse.json) { implicit request =>
val env = (request.body \ "env").as[String]

env match {
  case _ => {
    Redirect("https://google.com")
      .withHeaders(ACCESS_CONTROL_ALLOW_ORIGIN -> "*")
  }
}

路由文件如下,

代码语言:javascript
运行
复制
POST     /login             controllers.Application.login

我不知道是什么问题,但我得到的错误如下,无法重定向我的网页。

XMLHttpRequest无法加载https://google.com/。请求的资源上没有“访问-控制-允许-原产地”标题。因此,“http://localhost:9000”源是不允许访问的。

EN

回答 2

Stack Overflow用户

发布于 2015-09-27 20:18:35

我认为您遇到的问题是因为您试图在ajax ($http.post)调用中重定向,请参阅下面的文章:

服务器端代码无法从ajax响应重定向浏览器。

Using $http.post and res.redirect without resolving the promise

另见:Handle an express redirect from Angular POST

与其尝试从游戏中重定向,不如考虑用重定向的url返回一个响应,然后在您成功的回传中,从那里重定向:

代码语言:javascript
运行
复制
$window.location.href = "https://google.com";

(记得注射$window)

票数 1
EN

Stack Overflow用户

发布于 2016-07-01 10:03:05

通过查看"access-control-allow-origin",您必须在HeaderNames.ACCESS_CONTROL_ALLOW_HEADERS中添加Global.scala文件中的https://gist.github.com/mitchwongho/78cf2ae0276847c9d332

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32808368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档