【问题标题】:Failed to connect with REST web service无法连接 REST Web 服务
【发布时间】:2018-03-17 01:50:52
【问题描述】:

我在 jersey 有一个 Web 服务部署在 appache 服务器上,我正在尝试连接该服务器,但出现以下错误:

Failed to load http://192.168.1.200:8199/CheckinnWeb/webapi/myresource/query: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.

我的 service.ts 文件代码如下

 getlogin(): Observable<ILogin[]> {			
		 return this._http
              .get(this._loginurl, this.headers)
              .map((response: Response) => <ILogin[]> response.json())
              .catch(this.handleError);
   }

这是我的服务器网址

_loginurl='http://192.168.1.200:8199/CheckinnWeb/webapi/myresource/'+this.encodedString;

请帮我解决这个问题..谢谢!!

【问题讨论】:

  • 什么是this.encodedString?对我来说看起来像一个 sql 查询
  • 对我来说似乎是一个 CORS 问题。您是否尝试将`Access-Control-Allow-Origin`请求标头添加到您的this.headers?检查apache托管服务是否允许跨域请求
  • 这不是一个明确的问题!您应该提供更多详细信息。正如我所见,这是您的端点“...webapi/myresource”,这是您的参数“select ....”,对吗?如果这不是参数,则使用 ?请求参数!问题出在你的端点上,你能调试你的端点吗?您的服务 URL 响应什么?

标签: javascript angularjs typescript angularjs-directive


【解决方案1】:

试试这个

 getlogin(): Promise<ILogin[]> {
    return this.http.get(this._loginurl)
        .toPromise().then(response => <ILogin[]>response.json().data)
        .catch(this.handleError);
}

【讨论】:

    【解决方案2】:

    错误清楚地表明:

    请求的资源上不存在“Access-Control-Allow-Origin”标头。

    这不是angular2 本身的错误。但这更多地与您在服务器端的CORS 配置有关。

    您必须在您的服务响应中设置Access-Control-Allow-Origin 标头。您可以设置如下内容,表示您基本上允许任何资源:

    Access-Control-Allow-Origin: *
    

    【讨论】:

      【解决方案3】:

      试试这个:

      import {Headers} from "@angular/http";
      
      let headers=new Headers({ 
          });
          headers.append('Accept', 'application/json');
          headers.append('Access-Control-Allow-Origin','*');
      
        getlogin(): Promise<ILogin[]> {
          return this.http.get(this._loginurl,{headers:headers}))
              .toPromise().then(response => <ILogin[]>response.json().data)
              .catch(this.handleError);
      }
      

      【讨论】:

        猜你喜欢
        • 2016-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多