前后端交互讲解

2025-10-22 00:18:54

1、json:

json的特点是结构清晰、易拓展,所以经常用来作为前后端交互的格式(也有的用xml格式)。而前端有原生方法将json字符串方便地转换为前端可用数据结构,所以你很有必要在后端把集合转为json字符串再传递。

json格式在前端中跟js的对象/数组数据结构长得一模一样,除了数据类型不同以外。所以前端喜欢称json为json对象。

json数据格式: (json键/值对)

   {    “姓名”:”流年”    “性别”:”男”    “兴趣爱好”:”听音乐”    }

2、常见的几种编码方式

常见的一些字符编码方式无非有:Unicode、ASCII、GBK、GB2312、UTF-8。

ASCII编码:用来表示英文,它使用1个字节表示,其中第一位规定为0,其他7位存储数据,一共可以表示128个字符。

拓展ASCII编码:用于表示更多的欧洲文字,用8个位存储数据,一共可以表示256个字符

GBK/GB2312/GB18030:表示汉字。GBK/GB2312表示简体中文,GB18030表示繁体中文。

Unicode编码:包含世界上所有的字符,是一个字符集。

UTF-8:是Unicode字符的实现方式之一,它使用1-4个字符表示一个符号,根据不同的符号而变化字节长度。

3、后端编程过程涉及到的编码转换过程

Browser cilent: 首先,浏览器的设置里有设置编码格式,一般设置为UTF-8。

 

AJAX request: AJAX异步请求的过程中可以设置编码,contentType:"application/x-www-form-urlencoded; charset=utf-8"

 

PHP cilent: PHP通过$_POST这个全局变量接收前端POST过来的数据,编码格式为AJAX在请求头中设置的charset=utf-8,PHP操作的过程中可以通过iconv函数库自行转码,例如iconv("UTF-8","GB2312//IGNORE",$data)

 

connection: 在PHP与数据库连接的过程中可以设置connection过程中使用的编码格式,例如CodeIgniter框架可以在数据库配置文件database.php中,设置'char_set' => 'latin1'

 

databases: 数据会先把数据从php客户端的编码转为转为connection中设置的编码,再以字节流的形式传输并插入数据库。

4、前后端数据交互

过程:

在html页面要链接到js页面,要有个这样的东西

在js页面要定义controller层的url地址

分为获取数据和提交数据(js页面)

获取数据,通过$.getJSON获取

$.getJSON(shopInFourl,function(data))

data是转化为json格式的字符串

提交数据(通过$.ajax)

后台获取数据,获取json格式的字符串

将JSON格式的字符串,转为原来的格式

json数据的解码和编码

转为json格式:使用php内置的函数:json_encode

对字符串解码:json_decode

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢