相关疑难解决方法(0)

AngularJS没有检测到Access-Control-Allow-Origin标头?

我正在本地虚拟主机上运行角度应用程序(http://foo.app:8000).它正在使用另一个本地VirtualHost(http://bar.app:8000)发出请求$http.post.

$http.post('http://bar.app:8000/mobile/reply', reply, {withCredentials: true});
Run Code Online (Sandbox Code Playgroud)

在Chrome开发者工具的网络标签中,我当然会看到OPTIONS请求,并且响应中包含标题:

Access-Control-Allow-Origin: http://foo.app:8000
Run Code Online (Sandbox Code Playgroud)

但是,POST请求被取消,并出现以下错误:

请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http://foo.app:8000 "访问.

有没有人经历过这个?该Access-Control-Allow-Origin头非常清楚地包含在OPTIONS请求的响应,所以我不能为我的生命弄清楚为什么POST充当头不见了.

Access-Control-Allow-Credentials也设置为true.

angularjs angularjs-http

44
推荐指数
3
解决办法
16万
查看次数

在Java Play Framework 2.2.x中启用CORS

我在Java Play 2.2.x中启用跨域时遇到问题

在Java Play 2.1.3中,此代码通过将其放在Global.java中来工作

public class Global extends GlobalSettings {

  private class ActionWrapper extends Action.Simple {
    public ActionWrapper(Action action) {
     this.delegate = action;
  }

    @Override
    public Result call(Http.Context ctx) throws java.lang.Throwable {
      Result result = this.delegate.call(ctx);
      Http.Response response = ctx.response();
      response.setHeader("Access-Control-Allow-Origin", "*");
      return result;
    }
  }

  @Override
  public Action onRequest(Http.Request request, java.lang.reflect.Method actionMethod) {
    return new ActionWrapper(super.onRequest(request, actionMethod));
  }

}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在java play 2.2.x上编译时,它不再编译了.

编译错误消息:

Global.ActionWrapper不是抽象的,并且不会覆盖Action中的抽象方法调用(Context)...

java play 2.2.x有没有相同的代码?

谢谢.

java cors playframework playframework-2.2

13
推荐指数
2
解决办法
6060
查看次数