0
私はフロントエンド部分としてAngular2サンプル "Tour of Heroes"とYii2フレームワークをAngular2(front)とYii2(end) - オプション 'Content-Type'を持つhttp.get: 'application/json'
<response>
<item>
<id>11</id>
<name>Mr. Nice</name>
<title>князь</title>
</item>
<item>
<id>12</id>
<name>Narco</name>
<title>граф</title>
</item>
<item>
<id>13</id>
<name>Bombasto</name>
<title>барон</title>
</item>
カールH 'Content-Typeの': 'アプリケーション/ JSON' 'http://server.local/heroes' はかなり正常に機能していると私はJSON
を取得yii2<?php
namespace app\controllers;
use yii\rest\ActiveController;
class HeroesController extends ActiveController
{
public $modelClass = 'app\models\Heroes';
public function behaviors()
{
return
yii\helpers\ArrayHelper::merge(parent::behaviors(), [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
],
]);
}
}
結果(http://server.local/heroes)でバックエンド コントローラ
しかしAngular2ではこれを受け取ることができません。 http.getオプションのContent-Typeと ':' アプリケーション/ JSON
export class HeroService {
private headers = new Headers({'Content-Type': 'application/json'});
private options = new RequestOptions({ headers: this.headers});
private heroesUrl ='http://server.local/heroes';// 'app/heroes'; // URL to web api
constructor(private http: Http) { }
getHeroes(): Promise<Hero[]> {
return this.http.get(this.heroesUrl, this.options
)
.toPromise()
.then(response => response.json().data as Hero[])
.catch(this.handleError);
}
しかし、私は空の英雄[]
いずれかをこのYii Response Formattingまたはこれを使用してお読みくださいブラウザのコンソールにエラーが表示されますか?要求が適切にdevのツールバーの[ネットワーク]タブから送信されているかどうかも確認できますか? –
Chromeコンソールにエラーはありません – Leonid