前端 ,后端 关于数据交互的问题?
程序员文章站
2022-06-08 10:18:06
...
今天,我和我同事在讨论php 与js交互的时候,他认为:
var type = ;
....
我认为这样比较乱,如果交互数据多了的话,所有,我改成这样
...
var type = $("#hide_value #user_intern_status").val();
...
他说我这样写很麻烦,没必要。
我想知道大家是咋想的,又如何处理前端(js)与后端(jsp,php等)的数据交互的。
在此介绍几种常用的前后端数据交互方法,并给出使用建议。以提高前后端协同开发的效率。
目录:
1. HTML赋值
2. JS赋值
3. script填充JSON
4. AJAX获取JSON
5. WebSocket实时传输数据
6. 总结
1. HTML赋值
输出到 Element 的 value 或 data-name
所以从这个角度看,虽然问题里面提出的第二种优于第一种,但是两种方式本质上都是一个问题:硬耦合。第一种方案 JavaScript 和 PHP 耦合在一起了,第二种 HTML 和 PHP 耦合在一起了。所以还有更合理的解决办法,那就是前后端完全 decouple,通过 API 通信获取数据,用 JavaScript 动态渲染页面。 你同事的意思是 要把所有的js代码写到php文件里面? 不然真不明白第一种写法怎么跑的通
想前后端通讯数据 就用ajax啊。 卧槽。。
你和你的同事从来没听过PHP框架这种概念? 写页面的几个人呢?
如果前端只有一个,那两种方案都可以。
前端再拆分,写html和写js的分工的话,第二种更好。
还有拆得更合理的方案,就是自定义属性,毕竟第二个方案添加了无意义的元素,不如直接
var type = ;
....
我认为这样比较乱,如果交互数据多了的话,所有,我改成这样
...
var type = $("#hide_value #user_intern_status").val();
...
他说我这样写很麻烦,没必要。
我想知道大家是咋想的,又如何处理前端(js)与后端(jsp,php等)的数据交互的。
回复内容:
重新修改答案后整理了一份《前后端数据交互方法》在此介绍几种常用的前后端数据交互方法,并给出使用建议。以提高前后端协同开发的效率。
目录:
1. HTML赋值
2. JS赋值
3. script填充JSON
4. AJAX获取JSON
5. WebSocket实时传输数据
6. 总结
1. HTML赋值
输出到 Element 的 value 或 data-name
任何时候两种不同的技术发生硬耦合都是非常糟糕的软件设计,因为会带来不可调试、不可追踪等问题,每一种技术都有自己从开发到调试、测试甚至是构建的一套完整技术栈和工作流,当两种技术耦合在一起就会让这个工作流部分或完全失效。所以从这个角度看,虽然问题里面提出的第二种优于第一种,但是两种方式本质上都是一个问题:硬耦合。第一种方案 JavaScript 和 PHP 耦合在一起了,第二种 HTML 和 PHP 耦合在一起了。所以还有更合理的解决办法,那就是前后端完全 decouple,通过 API 通信获取数据,用 JavaScript 动态渲染页面。 你同事的意思是 要把所有的js代码写到php文件里面? 不然真不明白第一种写法怎么跑的通
想前后端通讯数据 就用ajax啊。 卧槽。。
你和你的同事从来没听过PHP框架这种概念? 写页面的几个人呢?
如果前端只有一个,那两种方案都可以。
前端再拆分,写html和写js的分工的话,第二种更好。
还有拆得更合理的方案,就是自定义属性,毕竟第二个方案添加了无意义的元素,不如直接
,甚至hide_value这个元素都可以用不着,直接在其父元素上定义就可以了。获取就是 var data= xx.getJson($("#hide_value").attr('data-val')), jQuery本身没有json处理函数,自己随便搜个下来用吧。
不过这些东西不是都是前端来写吗?后端只负责给出 $user_intern_status,怎么调用是前端自己定的。 为啥不用 php+smarty的框架呢 用框架就有框架自带的方法,但还是觉得js和php要分开来,因为js的变化实在太平凡了。 你不会用smarty动静分离么。或者写jquery 写法都没有错,得看实际情况再挑选最实惠的做法。 其实个人觉得你这样更乱,除非数据是需要通过表单提交的,不然直接赋值给变量不是更好么?
明明一行代码操作就OK的事情,你要用两行代码。
不过这些东西不是都是前端来写吗?后端只负责给出 $user_intern_status,怎么调用是前端自己定的。 为啥不用 php+smarty的框架呢 用框架就有框架自带的方法,但还是觉得js和php要分开来,因为js的变化实在太平凡了。 你不会用smarty动静分离么。或者写jquery 写法都没有错,得看实际情况再挑选最实惠的做法。 其实个人觉得你这样更乱,除非数据是需要通过表单提交的,不然直接赋值给变量不是更好么?
明明一行代码操作就OK的事情,你要用两行代码。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
下一篇: 跟老齐学Python之Python文档
推荐阅读
-
layUI框架中文件上传前后端交互及遇到的相关问题
-
laravel 解决后端无法获取到前端Post过来的值问题
-
解决vue+springboot前后端分离项目,前端跨域访问sessionID不一致导致的session为null问题
-
关于Oracle中sys、system和Scott用户下的数据库连接问题
-
关于VS2005中C#代码用F12转到定义时,总是显示从元数据的问题
-
vuejs前后端数据交互之从后端请求数据的实例
-
两种方法实现asp.net方案的前后端数据交互(aspx文件、html+ashx+ajax)
-
关于MyBatis 查询数据时属性中多对一的问题(多条数据对应一条数据)
-
关于前后端json数据的发送与接收详解
-
layUI框架中文件上传前后端交互及遇到的相关问题
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论