2016-11-07 113 views
2

我有以下問題:Angular 2 HTTP服務從https切換到http模式

在我從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

回答

0

只提供一個網址,沒有該計劃。例如:

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

您的瀏覽器將匹配您當前頁面的方案,以避免混合內容問題。

+0

我已經嘗試這樣做了。再試一次,是的...它仍然需要http方案;( –

+0

可能有某種網絡服務器重定向呢? – vidalsasoon

+0

不,這真的很奇怪... –

0

現在它的工作。沒有計劃爲什麼,但沒問題。

關閉