2016-07-15 2 views
1

내가 YII이 아주 새로운 해요 요청하지만, 여기에 간다 받아 컨트롤러를 설정 :YII 2 JSON은

내가 달성하기 위해 노력하고있어 단순히 게시 된 JSON 데이터에 읽는 컨트롤러를 설정하는 것입니다 그것.

Yii에서 어떻게 작동하는지 약간 혼란 스럽습니다.

지금까지 내가 작동하는 것 같다 일부 JSON 반환을 얻을 수 있는지 확인하기 위해 FTEST라는 컨트롤러를 설정하려고했습니다 무엇 : 내가 던지고 한 이후

public function actionFTest(){ 
    $request = Yii::$app->request; 
    Yii::$app->response->format = \yii\web\Response::FORMAT_RAW; 
    $headers = Yii::$app->response->headers; 
    $headers->add('Content-Type', 'text/json'); 

    $response = Yii::$app->response; 
    $response->format = \yii\web\Response::FORMAT_JSON; 
    $response->data = ['message' => 'Evan .. WHERE ARE YOU?']; 

    //$notificationData = json_decode(file_get_contents("php://input"), true); 

    //echo var_dump($notificationData); 

} 

그것의 지저분한을 코드에서 앞뒤로. 나는 보통 $ this-> render (etc)와 같은 것을 돌려줘야한다는 것을 알고 있지만, 나는 무엇을 반환 할 필요가 있는지 확신 할 수 없다. 당신이

+0

부지를 읽고 도움이 될 수 제공 할 수있는 모든 도움을

덕분에 1, 마찬가지로, 귀하의 게시물에서 명확하지 않다) json 데이터의 출처는 2) 데이터로 처리하려는 대상은 무엇입니까? 3) 데이터를 처리하면 어떻게됩니까? ?? –

+0

여기에서 "enabling-json-input"섹션을보십시오. http://www.yiiframework.com/doc-2.0/guide-rest-quick-start.html#enabling-json-input - API 자체를 제작하지 않으므로 설명을 위해 예제를 사용할 수 있어야합니다. – ldg

+0

사과 : 언급 할 내용 : 데이터는 다른 서버의 다른 스크립트 (허용 된 IP)에서이 페이지/URL로 게시됩니다. 이 문제의 근본적인 문제는 CSRF 유효성 검사를 통해 해결 된이 작업에 데이터를 게시 할 수 없음을 알게되었습니다. $ this-> enableCsrfValidation = false; – user3798442

답변

2

이것은

use Yii; 
    use yii\web\Response; 



    public function actionFTest() 
    { 
      Yii::$app->response->format = Response::FORMAT_JSON; 
    } 

Then after that just return a simple array like that: 

    return ['param' => $value]; 

http://www.yiiframework.com/doc-2.0/yii-web-response.html# $ 형식 - 세부에게 일의

+0

감사합니다. – user3798442

+0

그것이 작동한다는 소식을 듣게되어 기쁘다 ..^user3798442 –