我有以下问题:
在我用于从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 :(得分:0)
只提供没有该计划的网址。例如:
private apiUrl: string = "//example.com/myapi/myscript";
您的浏览器将与当前页面的方案相匹配,以避免出现混合内容问题。
答案 1 :(得分:0)
现在它有效。没有计划原因,但确定。
<强>闭强>