二.Ajax
- restful的get请求
restful
请求方法:get,delete,post,put
语法要求:get
和delete
一样,post
和put
一样
语义要求:人为的规定:
①get---->查询;
②delete—>删除;
③post---->新增;
④put---->修改
restful的get如果不带参数,写法和http的不带参数get一模一样
注意:①定义接口的时候,参数名称需要添加/restful要求,查询字符串的参数,写在url中,参数名称之前添加`:` //访问接口:127.0.0.1:8080/ajax/restful_login/dangdang&123 router.get("/restful_login/:uname&:upwd",(req,res)=>{ //所有添加:的参数,不能使用query获取,使用params let $uname=req.params.uname; let $upwd=req.params.upwd; res.send($uname+"...."+$upwd); //console.log($uname,$upwd); });
:
,但是调用接口传输参数的时候,没有冒号!没有冒号!没有冒号!;即:
②多个参数的连接,可以使用&或-,但是需要前后端对应;xhr.open("get",`/ajax/restful_login/${$uname}&${$upwd}`,true);
③restful
的非空验证,不能写在后端,只能放在前台验证 - restful的delete请求
restful
的delete
和restful
的get
语法一模一样,只有语义区别,只是把get
改成delete
练习:06_restful_del.html /restful_del
用户输入id值,根据id删除对应信息
- restful的post和put
有请求主体
http的post/put
,与restful的post/put
一模一样
练习:创建接口 /put_login
08_put_login.html,使用put,连接数据,登录操作
提高题:使用post完成注册功能
练习:刷新页面,获取所有用户信息,使用console打印在控制台,
08_list.html get /getlist
- JSON解析
服务器得到obj
类型,当做响应数据,传递给浏览器。
在传递过程中,自动的转换成string
类型
前台会得到一个string
的数据- 这个
string
类型,叫做json
字符串 - 如果我们想操作这个数据,需要把
json
字符串解析成obj
类型
json:javascript object notation
:以js对象的格式表现出来的字符串
json
的特点:①在数据传递过程中,自动生成json串;②json中对象的属性必须带双引号;③值是字符串的,也必须带双引号;④把json字符串解析成js对象,JSON.parse(json串)
- 这个
- XML数据解析
XML:eXtensible Markup Language
:可扩展标记语言
xml是html的一个变种。xml专门用来承载(盛放)数据,是以标签的方式来放暑假的。
xml和html有很大区别- xml的文件后缀是
.xml
- html中的标签和属性,都是被人预定义好的,直接用,而xml中的标签和属性,是自己定义的
- xml的标签名称,严格区分大小写,例
<str></str>
和<STR></STR>
是两组标签 - xml中只有双标签,没有单标签
编写xml文件
创建后缀以.xml
结尾的文件
第一行:<?xml version="1.0" encoding="utf-8"?>
有且只有一个根标签
使用let r=xhr.responseXML
获取document
对象
然后使用dom
操作r.getElementsByTagName("uname");
获取标签是<uname></name>
的所有对象放入一个数组
在进行操作数据就可以了 - xml的文件后缀是
三.Ajax项目
- 简易的接口文档
1.登录模块 get /pro/v1/login/:uname&:uwpd 响应 1为登录成功 0为登录失败
2.查询所有用户信息 get /pro/v1/list 响应json
3.根据uid删除用户 delete /pro/v1/del/:uid 响应 1为删除成功,0为删除失败
4.根据uid查询用户信息 get /pro/v1/search/:uid 响应json
5.根据uid修改用户信息 put /pro/v1/update 响应 1为成功,0为修改失败
6.根据uname 查询用户信息 get /pro/v1/select/:uname 响应1为查询成功,0为没有此???
7.注册 post /pro/v1/reg 响应1位注册成功,0为注册失败