Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Failed to execute 'open' on 'XMLHttpRequest': Invalid URL

I got run time error:

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());
    });    

  }

}
like image 794
rupesh sripuram Avatar asked Mar 23 '17 08:03

rupesh sripuram


1 Answers

http://localhost:app/api/reviews

This is an invalid URL (just like the error message says).

If you have a : after the hostname, it must be followed by a port NUMBER (and then the path). app is not a number, it is three letters.

like image 109
Quentin Avatar answered Oct 19 '22 08:10

Quentin