で応答を取得します。私はheader('Content-Type: application/json')
を追加SOとweb1のような他のウェブサイトに掲載されたすべての答え、web2を試してみましたが、その後、echo json_encode($data,JSON_PRETTY_PRINT);
しかし、私は常にテキスト形式で出力を取得していています。 これを解決するのに役立つ人がいますか?私はJSON形式に変換し、レスポンスの配列をしようとしているJSON format- yii2とPHP
ヘルパークラス:
public static function renderJSON($data) {
header('Content-Type: application/json');
echo json_encode($data,JSON_PRETTY_PRINT);
}
マイコントローラー:
if ($model->login()) {
$user = User::findByUsernameOrEmail($request->post('username'));
$userArray = ArrayHelper::toArray($user);
Helpers::renderJSON($userArray);
私はuserArray
を印刷しようとしましたが、それは次のようになります。
Array
(
[name] => abc
[lastname] => xyz
[username] => test_test
)
JSON出力:(HTML /テキスト)
{
"name": "abc",
"lastname": "xyz",
"username": "test_test"
}
おかげBizleyでこれを追加します。それは働いている。代わりに、 'helper class'の' echo'文の前に 'helper class'で追加することができます。別の場所でその関数を呼び出すことになります。 – ASN
まず最初に、データを '返す 'べきであり、' echo'してはいけません。現在の応答に影響を与える限り、どこでもかまいません。 – Bizley
ok Bizley。私の代わりに、エコーの返すように変更されます(しかし、それは私に空の結果を与えている返すように変更。私は郵便配達上のコードをチェックすることだし、出力には何もありません)。あなたがいずれかを使用する必要はありません ';そして私は' \のYii :: $ APP->対応 - >フォーマット= \のYiiの\ウェブ\レスポンス:: FORMAT_JSONを追加することにより、コントローラ – ASN