前后端交互

wwwxuewen 2020-01-19

json:

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

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

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

{
    “姓名”:”流年”

    “性别”:”男”

    “兴趣爱好”:”听音乐”

    }

常见的几种编码方式

常见的一些字符编码方式无非有: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个字符表示一个符号,根据不同的符号而变化字节长度。

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

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中设置的编码,再以字节流的形式传输并插入数据库。

前后端数据交互

过程:

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

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

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

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

      $.getJSON(shopInFourl,function(data))

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

    • 提交数据(通过$.ajax)

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

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

json数据的解码和编码

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

对字符串解码:json_decode


相关推荐