我遇到了运行时错误:
Failed to execute 'open' on 'XMLHttpRequest': Invalid URL Error: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL at http://localhost:8100/build/polyfills.js:3:2793 at XMLHttpRequest.open (eval at s (http://localhost:8100/build/polyfills.js:2:29793), :3:31)
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class Reviews {
data: any;
constructor(public http: Http) {
this.data = null;
}
getReviews(){
if (this.data) {
return Promise.resolve(this.data);
}
return new Promise(resolve => {
this.http.get('http://localhost:app/api/reviews')
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
});
});
}
createReview(review){
let headers = new Headers();
headers.append('Content-Type', 'application/json');
this.http.post('http://localhost:app/api/reviews', JSON.stringify(review), {headers: headers})
.subscribe(res => {
console.log(res.json());
});
}
deleteReview(id){
this.http.delete('http://localhost:app/api/reviews/' + id).subscribe((res) => {
console.log(res.json());
});
}
}
最佳答案
http://localhost:app/api/reviews
这是一个无效的 URL(就像错误消息所说的那样)。
如果主机名后有 :
,则它后面必须跟有端口号(然后是路径)。 app
不是数字,是三个字母。
关于angular - 无法在 'open' : Invalid URL 上执行 'XMLHttpRequest',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42970807/