AJAX三

三.ajax

4.代参数的get方法

①服务器

②ajax代码

xhr.open("get",url,true)

url="/demo/get_login?uname="+$uname+"&upwd="+$upwd

function login(){

 //获取页面上用户的用户名和密码

 var $uname=uname.value;

 var $upwd=upwd.value;

 //使用ajax访问服务器,并接受请求

 //1.创建xhr异步对象

 var xhr=new XMLHttpRequest();

 //4.绑定监听,接受响应

 xhr.onreadystatechange=function(){

  if(xhr.readyState==4&&xhr.status==200){

     var result=xhr.responseText;

     alert(result);

   }

}

 //2.创建请求,打开连接

 xhr.open("get","/demo/get_login?uname="+$uname+"&upwd="+$upwd,true);

 //3.发送请求

 xhr.send();

}

5.restful规则的接口

restful接口定义规则

/接口名称/:参数值&:参数值

注意,使用restful不能把非空验证放到后台。

而要把非空验证在前端完成

6.post传参

注意

1.xhr.send(formdata)必须带着请求主体发送

  请求主体就是一个字符串

  var formdata="uname="+$uname+"&upwd="+$upwd;

2.在xhr.open和xhr.send之间,设置请求头信息

  把content-type设置为可以发送特殊字符

xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

 

7.json解析

json是以js对象,或者js对象数组为表现形式字符串

json串

JavaScript object notation

    js     对象  表象方式

json的来源

1.可以手写json串

  var str="{'uid':123}";

2.当服务器操作数据库之后,得到的result,在传递给前端之后自动就变成一个json

①json解析

把json字符串转换成js对象/js对象数组,这个行为就叫json解析

做json解析的目的,因为要对数据,使用js的api进行处理

②json字符串的格式

1.json中用一对{}来表示一个对象

2.json中所有的属性名称,必须使用双引号括起来

  使用单引号,不会发生错误,但是建议使用双引号

3.json中的属性值,如果是字符串,也要带双引号

4.整个json是一个字符串,所以最外层要是用单引号包裹

③解析语法

var arr=JSON.parse(result);

arr就是一个js的对象数组,可以使用js的数组操作模式了

8.xml解析

eXtensible markup language

可拓展的   标记    语言

所有的标签,属性都是自己定义

xml就是做数据传递的,不用于数据展示

①语法

1.首行做版本声明

<?xml version="1.0" encoding="utf-8"?>

2.xml标记,都是自己命名,只有双标记,没有单标记

3.xml标记,严格区分大小写,开始标记和结束标记必须一致

4.每个xml文档,有且只有一对根标记

②xml解析

 

四.ajax项目(使用restful风格)

1.login模块(后台接口,前台页面)

接口名称  /v1/login/:uname&:upwd

req.params.uname

 

错误总结

1.数据库没有开启

 

2.缺少括号

 

出乎意料的结尾,login这个方法未定义

说明login方法中缺少}

3.符号错误

 

 

总结

1.如果接口使用http的get方法

这个接口,可以使用浏览器的地址栏直接验证

注意:restful的无参数get方法,和http的无参数get方法相同

2.restful的post方法,和http的post相同

3.功能模块编写思路

前端

后端

1.收集整理数据---get,delete非空验证

2.ajax的xhr4步

3.在if(xhr.readyState==4&........)

  中写dom操作,把得到响应数据呈现在html上

1.接收前端传过来的数据

2.写sql语句

3.连接池进行数据操作

4.返回的响应越短越好

 

原文地址:https://www.cnblogs.com/sna-ling/p/12676045.html