如何在yii2中将JSON返回给ajax [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在yii2中将JSON返回给ajax [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我想使用Yii2做一个Web项目,我想将JSON返回给AJAX。我使用过json_encode()
和Yii::$app->response->format = Response::FORMAT_JSON;
,但它仍然不起作用。
这是我的行动:
public function actionAbout(){
Yii::$app->response->format = Response::FORMAT_JSON;
return json_encode(["test"=> 1]);
}
这是我的AJAX:
$.ajax({
type: "POST",
// dataType: 'json',
data: {
'user': 'A'
},
url: "?site/about",
contentType: "application/json",
success: function(data) {
console.log(typeof(data));
console.log(data)
},
error: function (data) {
console.log(data);
},
});
但它返回这个:
<!DOCTYPE html>....
仍然是一个HTML。怎么解决?
答案
而不是使用
return json_encode(["test"=> 1]);
你不应该像这样回应它
echo json_encode(["test"=> 1]);
加上如果你将Yii::$app->response->format
设置为FORMAT_JSON
然后你不需要将数组编码为JSON
只返回数组。
return ['test'=>1];
以上是关于如何在yii2中将JSON返回给ajax [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在javascript中将数组从php返回到ajax响应
JS中将ajax请求返回json数据动态生成表格显示在div中