这是之前对的帖子 https://hu60.cn/q.php/bbs.topic.103243.html
有以下几个方法
parseJSON
又不是没数据,想要什么就随便拿了$('div', $.parseJSON(data)).html()
在需要输出html的控制器前增加一句Config::set('default_ajax_return','html');
永久改变是不推荐的做法,因此临时改变也算是不错的方法
tp默认配置是json,在app目录下的config.php中default_ajax_return
偶然想到一个问题,ajax是怎么识别的呢?
一查之下就知道了,请求头带了一个X-Requested-With : XMLHttpRequest
在请求时加一个header即可,X-Requested-With
的值随便写
$.ajax({
headers: {
"X-Requested-With":"windows_20_business"
},
url: '/api',
type: 'get',
success: (data) => {
console.log(data)
}
});
@水木易安,膜拜大佬,17年我还在上大学,大佬都开始php了
https://www.chengyao.xyz
@胡椒舰长,
参考:https://www.kancloud.cn/manual/thinkphp5/118048
默认情况下,控制器在ajax请求会对返回类型自动转换,默认为json
因此在不修改默认类型,无论你是
输出视图:return $this->fetch('index/action');
输出json:return json(['a'=>123]);
,
输出数组:return ['a'=>123];
用ajax访问,都返回json
我重载dom区域其实就是懒的多写俩函数和路由,没有别的目的
其实我也可以这样,直接操作数据
$data=['a'=>123];
return request()->isAjax()?$data:$this->fetch('index/action',$data);`
最后问下Response::HTML()是哪个版本里的
梦回 2017 那年大学宿舍晚上 editplus 手撸 tp5 接口