php验证返回值,php接口返回数据 用echo 还是return?
php接口返回数据 用echo 还是return?
作者:PHPYuan 时间:2018-06-10 23:40:39
框架用多了,也是有坏处的,之前一直用框架写接口,返回数据时都是用的return 关键字,时间长了,就会感觉这样是理所当然,因为函数的返回值 就是用return 关键字返回.其实这样是不对的.
今天用原生的写了一个简单的登录验证页面,问题就来了,一直用的return关键字,死活都没有返回值,为此我还特意翻看了一下以前项目的代码,确实是用return关键字写的,是没问题的,因为那个项目已经上线了,至今一直都在使用,并且还在更新迭代中.
上面就是前段的js代码和后端的php代码,这段看似很简单代码,确存在着一个大的问题,那就是数据返回时,用的是return关键字,经过多次测试,上述php代码是没有返回给前端值的,也就是每次的结果都是验证失败.
刚开始一直在找问题,因为这种写法,已经被验证过很多次是没有问题的,所以就一直没考虑这方面,但是代码几句,于是索性就让php直接返回了一句 return 1,但是结果仍然是验证失败,
走到这里,才开始怀疑是return 关键词,没有给前台返回数据造成的问题,于是试着用 echo 关键字输出数据,奇迹出现了,前端出现了验证成功,
问题虽然解决了,但是还是没有搞懂其中的原理,于是开始翻阅资料,最终还是找到了一个个人感觉比较满意的答案:
return 作为函数返回值或结束语句,是返回的数据的指针,也就是数据存放的地址,而接口需要返回的是真实的数据,
因为前后端使用的是不同的内存系统,所以无法根据地址找到相应的数据,而echo print sprinf等这些能够在浏览器中打印数据的函数都是基于http协议传输的真是数据,所以在前端是可以获取和判断的.
需要注意的是,在tp框架中,return关键字的确是可以给返回数据的,也就是可以作为接口返回数据关键字的,但是用原生的php是不行的,这应该是tp框架内部做过处理了吧!这里就不在深究了,有兴趣的朋友,可以去看下tp的源码!!
分享到:
>> 下一篇:Phalcon:用C语言写成的PHP5框架 (2018-06-10 23:40)
php验证返回值,php接口返回数据 用echo 还是return?相关推荐
- 第八天学习Java的笔记(方法有参无参,有返回值和无返回值)
48天 方法 对比有参数和无参数 package Demo03;/* * 有参数:小括号当中有内容,当一个方法需要一些数据条件才能完成任务的时候,就是有参数 * 例如两个数字相加,必须知道两个数字各是 ...
- java 定时器返回值_javascript 函数返回值(return)、定时器(setTimeout、setInterval)...
一.函数的返回值:return 1.函数名+括号=return后面的值 function fn1(){ return 100; } alert(fn1()); // 100 fn1()=return后 ...
- 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )
文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...
- Java手写线程池(不带返回值、带返回值)
文章目录 不带返回值 带返回值 不带返回值 public class MyThreadPool {private static final int DEFAULT_THREAD_NUM = 10;pr ...
- Python教程:函数多个返回值与丢弃返回值
1.函数多个返回值 python的函数支持返回多个值.返回多个值时,默认以tuple的方式返回. 例如,下面两个函数的定义是完全等价的. def f():return 1,2def f():retur ...
- 5获取按钮返回值消息_大数据从入门到深入:JavaEE 之 项目实战 项目基础编码阶段(5)...
2.5 学生信息删除 2.5.1 产品经理阶段 操作要求 : 点击页面的删除按钮,弹出删除提示框,确定后删除学生信息和学生的考试成绩; 2.5.2 项目经理阶段 业务分析 : 删除学生信息的时候还要删 ...
- java 接口 返回值_java api返回值的标准化详解
api返回值的标准化 例如 {"status":200,"message":"操作成功","data":"{\ ...
- python 子线程返回值_python-从线程返回值
python-从线程返回值 我如何获得一个线程以将元组或我选择的任何值返回给Python中的父级? 12个解决方案 59 votes 我建议您在启动线程之前实例化Queue.Queue,并将其作为线程 ...
- postman提取返回值_postman提取返回值
Postman是做接口测试的,但是很多接口并不是直接就能测,有的需要一些预处理.比如说身份认证,需要传递一个token.如果做网页测试,一般打开登陆界面的时候就会生成一个token,如果返回值是jso ...
最新文章
- 怎么复制链接伟html,index.html
- oracle分区交换速度,oracle交换分区对数据的加载提速案例
- Java并发编程原理与实战六:主线程等待子线程解决方案
- python工程师薪资坑吗-Python中反人类直觉的特性,你踩过坑吗?
- 统计一下你写过多少代码
- 大神对飞控精准高度估计算法解读
- python生成uuid_咸鱼高赞回答:有什么相见恨晚的Python技巧,附赠python最新教程...
- 程旭元系统漫画第三期:加班 !
- Java集合 -- HashSet 和 HashMap
- Mybatis+Oracle批处理
- 爬虫404如何跳过_金秀贤、全智贤主演的韩剧来自星星的你你如何评价?
- “不会Linux,怎么当程序员?”骨灰级程序员:你的代码正在毁掉你!
- luogu p1799 数列_NOI导刊2010提高(06)
- Linux怎么删除tomcat日志,Linux下定时切割Tomcat日志并删除指定天数前的日志记录...
- c#winform panel空间拖动窗体 最小化 关闭 按钮 右下角弹窗
- kali linux暴力破解攻击
- 利用R代码从UCSC XENA下载mRNA, lncRNA, miRNA表达数据并匹配临床信息
- --hot 和 --inline的区别
- 苹果xr十大隐藏功能_今天才发现!苹果手机闹钟除了提醒起床,还有3个隐藏功能...
- 1--MySQL基础知识内容