怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题

怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题

小编给大家分享一下怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Thinkphp与vue联合开发中Thinkphp的配置问题:

1、Thinkphp默认返回json格式的数据

(1)全局设置 - 修改 Thinkphp 配置文件 config.php :

'default_return_type'    => 'json',

default_return_type 属性的默认值为'html',改成'json'后,在控制器的方法中直接return出来的数据就是json格式了,全局配置对系统中的所有“操作”有效

(2)单独设置 - 在“操作”中通过:return json(array, 404)返回数据(第一个参数是数组或对象,第二个参数是状态码)。

return json(['name' => 'thinkphp','status' => '1'], 200);

输出的数据(全局与单独设置输出的结果相同):

{"name":"thinkphp","status":"1"}

2、vue请求跨域的问题

前后端分离的情况下,vue直接通过axios请求会遇到跨域的问题:No 'Access-Control-Allow-Origin' header is present on the requested resource.

怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题

需要在 “操作” 中设置请求头部

header('Access-Control-Allow-Origin: *')

直接复制粘贴到 “操作” 的第一行就可以了,就像这样:

怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题

再通过axios连接这个“操作”时,就不会提示跨域限制了。

怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题

以上是“怎么解决Thinkphp与vue联合开发中Thinkphp的配置问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!