Php Yii 2设置控制器以接受json请求
我对Yii 2很陌生,但这里有: 我试图完成的是设置一个控制器,该控制器只需读取发布到它的任何json数据 我对Yii的工作原理有点困惑 到目前为止,我尝试的是设置一个名为ftest的控制器,看看是否可以让它返回一些json,这似乎是可行的:Php Yii 2设置控制器以接受json请求,php,json,yii2,yii2-basic-app,Php,Json,Yii2,Yii2 Basic App,我对Yii 2很陌生,但这里有: 我试图完成的是设置一个控制器,该控制器只需读取发布到它的任何json数据 我对Yii的工作原理有点困惑 到目前为止,我尝试的是设置一个名为ftest的控制器,看看是否可以让它返回一些json,这似乎是可行的: public function actionFTest(){ $request = Yii::$app->request; Yii::$app->response->format = \yii\web\Response:
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(等)的内容,但我不确定需要返回什么作为视图
感谢您提供的任何帮助这可能会有所帮助
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];
读这个
$format detail从您的帖子中,很多事情都不清楚,例如,1)json数据来自哪里2)您打算用它做什么3)处理数据后会发生什么??请看这里的“启用json输入”部分:--即使您本身没有构建API,您也应该能够使用这里的示例来完成您所描述的工作。抱歉,只需提及:数据将从另一台服务器上的另一个脚本(白名单IP)发布到此页面/url。我发现这背后的根本问题是数据无法发布到此操作,我通过启用CSRF验证修复了此问题:$this->enableCsrfValidation=false;很高兴听到你说它有效。。享受:)@user3798442