Angular 2 HTTP服务从https切换到http方案

时间:2016-11-07 20:33:04

标签: http angular https

我有以下问题:

在我用于从PHP脚本检索数据的角度服务中,浏览器或角度从https切换到http。我的网站通过HTTPS加载HTS,因此ajax请求被阻止为混合内容。

我的ajax服务有以下代码:

import { Injectable, } from '@angular/core';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class AjaxService {
    private apiUrl: string = "https://example.com/myapi/myscript";

    /**
    * @param  {Http} http HTTPService
    */
    constructor(private http: Http) { }

    /**
    * @param  {string} piece 
    */
    public getAllComponents(piece: string) {
        console.debug("Get Components for Query: " + piece);
        return this.http.get(this.apiUrl + "?compontent=" + piece).map((res: Response) => res.json());
    }

    [...]

}

当我从主页https://example.com/Angular2Application调用我的页面并触发请求时,我的浏览器告诉我ajax请求被阻止混合内容并告诉我他试图连接到http://example.com/myapi/myscript

2 个答案:

答案 0 :(得分:0)

只提供没有该计划的网址。例如:

private apiUrl: string = "//example.com/myapi/myscript";

您的浏览器将与当前页面的方案相匹配,以避免出现混合内容问题。

答案 1 :(得分:0)

现在它有效。没有计划原因,但确定。

<强>闭