wie Json encode in yii2?

Versuch zu Kodieren von json und erhalten 400: Bad Request im yii2. Ich bin versucht zu Encoden Rest-client, aber es funktioniert nicht richtig.

<?php 
    namespace app\controllers;
    use Yii;
    use yii\filters\AccessControl;
    use yii\web\Controller;
    use yii\filters\VerbFilter;
    use app\models\TblUserRegistration;
    class UserController extends Controller
    {
        public function actionRegister()
        {
            $model = new TblUserRegistration();
            $username = $_POST['username'];
            echo json_encode($username);
        }
    }
?>

Fehler Bild.wie Json encode in yii2?

Fehler Bildwie Json encode in yii2?

  • set-Antwort-format zu \yii\web\Response::FORMAT_JSON;
  • Insane hat Recht. Verwenden Sie \ \ yii\web\Antwort::FORMAT_JSON;
  • add hidden-Feld im Formular für die csrf -: ` <input type="hidden" name="<?= Yii::$app->Anfrage->csrfParam; ?>" value="<?= Yii::$app->Anfrage->csrfToken; ?>" />`
  • Eigentlich möchte ich, dass im Voraus, Rest-client in google chrome, Weil ich verwenden möchten, die in web-service.Also ich habe keine form. Ich brauche nur Reine json-codierte Daten.
  • Legen Sie dann \Yii::$app->response->format = Response::FORMAT_JSON; sollte für Sie arbeiten.
  • konfigurieren json-parser für json-Ausgabe in der Konfiguration.
  • Ich denke, ContentNegotiator wird der trick für eine Aktion. Ich meine, vielleicht hat er keine Bedürfnisse, um es Global. Ich denke, es ist auch ein csrf-Problem wie bereits von @suibber, die Würfe der 400-Fehler. Einstellung der controller ist öffentliches Eigentum $enableCsrfValidation auf false ein, wie es in \yii\rest\Controller kann das Problem beheben.

Schreibe einen Kommentar