2017-01-30 37 views
6

Używam Angular 2 po stronie klienta i po stronie serwera Asp.NET Web API core.Błąd "Skrypt z wtryskiem JSONP nie wywołał oddzwaniacza". przy użyciu Angular 2 i Server ASP.NET core

Wykonałem proste wywołania od klienta Angular 2 do podstawowego interfejsu API ASP.NET, jak pokazano w poniższym kodzie.

 this.http. 
      post("/api/Patient", data, options) 
      .map(res => res.json()) 
      .subscribe(
      res => this.CallBack(res), 
      err => this.logError(err)); 

Kod WebAPI serwera ASP po stronie serwera przedstawiony jest poniżej.

public IActionResult Post() 
{ 
// I am using EF and inserting to DB 
// Till here everything works fine. 
return Ok(obj); 
} 

Gdy po zdarza nam się poniższy błąd

netto :: ERR_CONNECTION_RESET

dane zostaną wstawione ale gdy obiekt ma zostać zwrócony do serwera po prostu odmawia. Również kiedy poszedłem głęboko w błąd widziałem poniżej.

"Skrypt z wtryskiem JSONP nie wywołał oddzwaniania." JSONP_ERR_WRONG_METHOD: "Żądania JSONP muszą wykorzystywać metodę żądania GET." JSONP_HOME

W moim lokalnym działa i czasami się zawiesza. Mam hosting obecnie na httpwww.smarterasp.net i na tym serwerze ten błąd jest częsty.

Wszelkie wskazówki byłyby mile widziane.

+0

To może pomóc https://github.com/angular/angular/issues/8153 – CoderHawk

+0

Dzięki @CoderHawk o pomoc. W tym wydaniu mają żądanie JSONP robię żądanie JSON. Nie wiem, dlaczego muszę radzić sobie z JSONP. –

+0

Mógłbyś sprawdzić, czy ten sam wniosek pocztowy działa poprawnie z klientem listonosza? –

Odpowiedz

0

Wiem, że to brzmi zabawnie. Ale poprawka taka jak w POST zamiast zwracania obiektu wysłaliśmy serializowany ciąg JSON.

public string Post() // <-- this was first a object we changed to string 
{ 
// I am using EF and inserting to DB 
// Till here everything works fine. 
    return SerializedString; 
} 

Jesteśmy pewni, że było to spowodowane hostingowych kwestii www.smarterasp.net