写在前面:现在项目大多是采用前后端分离的模式进行开发,这种模式下的开发大大的提高了工作效率,而进行前后端数据交互传输的格式基本以json为主,毕业设计中兼顾前端开发和后端开发(后端小白一个),前端业务完成后采用模块的后端开发,既能够理清楚开发过程中的流程,同时也给自己提供一个简单的逻辑思路优化逻辑,在这个过程中,考虑后端如何传递给前端json数据。开启json旅程(个人实验过程结果,有不合适的地方可以指出)

1.思想一:后端传递给前端json,直接json_encode($arr)??

贴后端代码:

public function login(){

//判断是否赋值

if(isset($_POST['stu_number']) && isset($_POST['pwd'])){

$useAccount = $_POST['stu_number'];

$password = $_POST['pwd'];

session('stu_number',$useAccount);

} else{

$arr = array('status'=>0,'msg'=>'输入账号和密码');

return json_encode($arr);

}

//省略验证逻辑步骤

$arr = array('status'=>1,'msg'=>'验证成功');

return json_encode($arr);

}

※ 在浏览器端直接用接口进行访问:发现接口直接返回的是json串 ,如图1

图1 直接用接口进行访问的后端返回数据格式

※在前端请求该接口返回的数据,如图2,浏览的是webapp 返回的数据是一个字符串,利用cordova打包的apk进行访问接口时数据格式如图3;

图2 在webapp 前端获取到数据

图3 在apk端访问时获取到数据

咦,惊呆了,在webapp和打包生成的apk 同一接口返回的数据格式竟然不一样,这与我们想要的不符合,我们在webapp浏览模式下需要将后端返回的数据转换成json数据格式,代码如下:

var data = JSON.parse(response.data);//将后端返回的数据直接用方法转

在apk端访问接口数据就不用 JSON.parse(response.data),而在hybirdapp项目中,通常是将webapp打包成apk模式,这样接口提供的数据就不统一,为打包带来繁琐的步骤;如果单纯的在webapp中,可以利用json进行需要的逻辑判断了,如果项目n多接口,n多请求,每个接口都要进行处理,未免不是一种开销,所以是比较繁琐的了。记起来自己曾经做过的一个项目,后端返回的总是字符串,鉴于是网站,始终是以web形式打开,就没细细再追究。

2:思想二,也是查找了一些资料

3: 思想三,利用echo进行输出

后端接口访问

php前后分离的工作写法,[前后端分离项目]thinkphp返回给前端数据为字符串相关推荐

  1. springboot jwt token前后端分离_为什么要 前后端分离 ?

    作 者:互扯程序 来 源:互扯程序 广而告之:由于此订阅号换了个皮肤,系统自动取消了读者的公众号置顶.导致用户接受文章不及时.您可以打开订阅号,选择置顶(星标)公众号,重磅干货,第一时间送达! 本文知 ...

  2. shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

    随着互联网的高速发展以及IT开发技术的升级,前后端分离已成为互联网项目开发的业界标准使用方式.在实际工作中,前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%,甚至会更高.接下来 ...

  3. vue前后分离session实现_vue2 前后端分离项目ajax跨域session问题解决

    最近学习使用vuejs前后端分离,重构一个已有的后台管理系统,遇到了下面这个问题: 实现跨域请求时,每次ajax请求都是新的session,导致无法获取登录信息,所有的请求都被判定为未登陆. 1. v ...

  4. 前后端分离-从MVC到前后端分离

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言 ...

  5. 前后端分离 获取用户ip_前后端分离应用——用户信息传递

    前言 记录前后端分离的系统应用下应用场景----用户信息传递 需求缘起 照例先看看web系统的一张经典架构图,这张图参考自网络: 在 Dubbo 自定义异常,你是怎么处理的? 中已经对该架构做了简单说 ...

  6. java前后端分离账号错误_前后端分离,获取token,验证登陆是否失效

    public classJwtUtils {/*** 密钥*/ private static final String SECRET="xxxx";/*** 默认字段key:exp ...

  7. python实战项目前后端分离flask_Flask Vue 构建前后端分离的应用

    Hello, this is a home page rendered by Jinja2 Template Engine.

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 我的前后端开发简史...

    ---新内容开始--- 番外 大家周一好呀,又是元气满满的一个周一呀!感谢大家在周一这个着急改Bug的黄金时期,抽出时间来看我的博文哈哈哈,时间真快,已经到第十四篇博文了,也很顺顺(跌跌)利利 (撞撞 ...

  9. 程序开发中:什么是前后端分离?你搞清楚了吗?

    今天这篇文章来分析一下什么是前后端分离的相关知识,很多小伙伴不清楚到底什么是前端,什么是后端,什么是前后端分离.在说前后端分离之前,我们先要弄清楚这几个概念,大家可能经常听到前端,后端或者是大前端的一 ...

最新文章

  1. 实战:使用 Mask-RCNN 的停车位检测
  2. SQL Sever 2008 R2 数据库(2) ——数据库管理
  3. 把宝可梦搬到终端后,摸鱼也不会被老板发现了,收集对战玩法一应俱全|开源...
  4. 深入理解Java中的String
  5. linux图形界面 革命,Windows 95带来的革命
  6. htc816t Android go,HTC D816t(Desire D816t 移动4G)一键刷机图文教程详解
  7. Linux 定时任务 定时备份mysql数据
  8. bzoj3884: 上帝与集合的正确用法 扩展欧拉定理
  9. 几何画板椭圆九种画法_如何利用几何画板自定义工具画椭圆
  10. Stm32串口通信基础实验
  11. tanh函数matlab_MATLAB模拟双曲正切函数tanh和双曲余切函数coth
  12. java动态字段排序_Java利用Stream来实现多字段排序功能
  13. 微信小程序——订阅号和服务号区别
  14. 计算机基础知识教案总结,计算机基础学习心得体会范文
  15. powerbi导入地图_PowerBI地图可视化的那些套路
  16. mysql 与文件系统_MySQL文件系统
  17. 【zc1415926】Unity3D的Android移动之路(二) 辅助神器——Unity Remote
  18. Conventional-path insert(传统路径插入)
  19. Android Q USB Tethering 端口切换分析
  20. 棋盘覆盖问题C++求解

热门文章

  1. 2017.9.4 Nim 思考记录
  2. 【英语学习】【Level 07】U07 Stories of my Life L6 An experience worth remembering
  3. 【英语学习】【Daily English】U05 Places L01 How can I get to the city museum?
  4. Intel® Nehalem/Westmere架构/微架构/流水线 (6) - 读写操作Load/Store增强
  5. Java基础语法及其经验总结
  6. python文件分块读取_Python多进程分块读取超大文件的方法
  7. mysql5.5从零开始_【MySQL函数】MySQL 5.5从零开始学第六章
  8. 用SSE加速CPU蒙皮计算
  9. Python爬虫--- 1.2 BS4库的安装与使用
  10. 「理解HTTP」之常见的状态码