,实现前后端数据交互的方法,实现前后端数据交互方法汇总

,实现前后端数据交互的方法,实现前后端数据交互方法汇总

本文介绍了几种常用的前端和后端数据交互方法,并给出了一些建议。从而提高前端协同开发的效率。很详细,推荐给朋友,有需要的朋友可以参考一下。

本文适合前端协同开发经验不足的新手。

HTML赋值

将值或数据名称输出到元素。

输入类型='隐藏'值='?php echo $ user _ avatar?'/

div数据-值='?php echo $ user _ avatar?'/div

渲染结果

input type=' hidden ' value=' https://avatar S1 . githubusercontent . com/u/3949015?v=3s=40' /

div data-avatar=' https://avatar S1 . githubusercontent . com/u/3949015?v=3s=40'/div

使用 JS 获取

$('输入')。val();

//http://jquery.bootcss.com/jQuery.data/

$('div ')。数据('头像');

优势:

不占用全局变量,由JS自由获取。

使用建议:

适合传递简单数据,也非常适合多个简单数据和元素之间的绑定关系。

保险商实验所

IMO js span data-userid=' 1 ' delete/span/Li

Li nimo 22 span data-userid=' 2 ' delete/span/Li

Li nimo 33 span data-userid=' 3 ' delete/span/Li

Li nimo 44 span data-userid=' 4 ' delete/span/Li

Li nimo 55 span data-userid=' 5 ' delete/span/Li

/ul

脚本

$('span ')。on('click ',function(){

$.post('/ajax/remove/',$(this)。数据(' userid '),函数(数据){

//.

})

})

/脚本

JS分配

将数据填充到脚本的JavaScript变量声明中。

脚本

var user_avatar='?php echo $ user _ avatar?';

//呈现结果

//var user _ avatar=' https://avatar S1 . githubusercontent . com/u/3949015?v=3s=40’;

/脚本

或者使用Smarty后端模板引擎:

脚本

var user _ avatar=' { $ user _ avatar } ';

/脚本

优势:

数据传输非常方便。前端直接调用user_avatar变量来使用数据。

缺点:

全局变量user_avatar用于传递一串数据,当有大量数据需要传递时,会用到很多全局变量。

如果返回的数据中有换行符,JS将报告一个错误。

//渲染结果有换行符

var user _ id=' https://avatar S1 . githubusercontent . com/u/3949015?v=3s=40’;

//未捕获的语法错误:意外的标记非法

优化:

你可以通过指向某个变量来存储后端返回的所有内容,把全局变量占用到最小。示例:

//PHP代码

var SERVER_DATA={

用户名:{ $用户名},

用户标识:{ $用户标识},

标题:{$title}

}

//呈现结果

var SERVER_DATA={

用户名:“尼莫楚”,

userid: 1,

标题:“F2E”

}

使用建议:

当您需要尽可能快地将数据传输到JS,并且您确信这些数据是稳定的时,请使用此方法。如果数据格式复杂,建议使用脚本填充JSON或者AJAX获取JSON方法。

script填充JSON

JSON是什么?

将JSON数据填充到script标签中,前端通过DOM获取JSON字符串并解析成对象。

script type=' text/template ' id=' data ' { ' username ':' nimo js ',' userid':1}/script

脚本

var data=JSON.parse($('#data ')。html());

//{用户名:' nimojs ',用户id:1}

/脚本

优势:

数据可以在页面加载后获取。它不占用全局变量,可以传输大量数据集。

缺点:

当数据量非常大时,页面的初始加载会很慢。速度变慢不仅是由文件大小造成的,还因为服务器查询数据和返回集合需要时间。可以使用AJAX让JSON完成按需加载和加载等待。

使用建议:

它适合于在加载DOM时传输大量需要的数据集。比如前端控制页面渲染,后端将JSON数据源填充到脚本中,前端使用JavaScript模板引擎渲染页面。

AJAX获取JSON

使用AJAX获取JSON数据

Span id='showdata '查看数据/span

div style=' display:none;'id='box '

H2用户信息/h2

p id=' info ' img src=' loading . gif '//p

/div

$('#showdata ')。on('click ',function(){

$('#box ')。show();

$.getJSON('/ajax/userdata/'),函数(oData){

//oData={'username':'nimojs ',' userid':1}

$('#info ')。html('用户名:' oData.username 'br用户ID:' odata . userid);

})

})

这是一个通过AJAX获取用户信息的例子。流程如下:

页面上只显示查看数据。

用户点击查看数据。

显示用户信息和加载图片

向服务器发送获取用户信息的AJAX请求

服务器返回一个JSON字符串和$。getJSON自动将返回的JSON字符串转换成对象。

将内容填充到p id='info '

优势:

不占用全局变量和DOM节点,可以自由控制获取数据的触发条件(页面加载时、用户点击查看数据时或用户点击按钮时)。当您开始获取数据时,您可以使用加载图像占位符来提醒用户正在读取数据。防止由于页面上加载了所有数据而导致页面加载缓慢。

缺点:

将生成额外的HTTP请求。你不能在DOM加载后立即得到它。您需要发送请求并接收响应。

使用建议:

加载非主信息,设置触发条件(用户点击查看数据时),提供友好的数据读取等待提示。

WebSocket实时传输数据

如果把AJAX的请求和响应比作向服务器发送短消息,等待服务器回复短消息,那么WebSocket就好比调用服务器。

这里不太介绍WebSocket,附上参考资料:

维基:WebSocket

利用HTML5 WebSocket构建实时Web应用

Ajax vs WebSocket

总结

每种情况都有它的用处,没有绝对正确的方法。根据实际情况,灵活选择获取数据的方式。

以上是本文的全部内容。我希望你能喜欢它。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: