1 js原生get请求

<script>
window.onload = function(){
var oBtn = document.getElementById('btn');
oBtn.onclick = function(){
let xhttp = new XMLHttpRequest();
xhttp.open('get','http://localhost:3000/users');
xhttp.send();
xhttp.onreadystatechange = function(){
if(xhttp.readyState == 4){//readyState 服务器响应的状态编码
console.log(JSON.parse(xhttp.response));
}
}
}
}
</script>

get

2 js原生post请求

<script>
window.onload = function(){
var oBtn = document.getElementById('btn');
var obj = {
"name":"zxq",
"age":123
}
oBtn.onclick = function getData(){
var xhttp = new XMLHttpRequest();
xhttp.open('post','http://localhost:3000/users');
xhttp.setRequestHeader("Content-type","application/json");//设置请求头
xhttp.send(JSON.stringify(obj));//将对象转为json格式
xhttp.onload = function(){
console.log("请求执行完毕");
console.log(xhttp.responseText);
}
}
console.log(oBtn.onclick.name);//getData
}
</script>

post

3 jq的ajax请求

<script>
$(function(){
$('#btn').on('click',function(){
$.ajax({
type:'GET',
url:'http://localhost:3000/users',
success:function(response){//成功回调函数
console.log('成功了');
console.log(typeof(response));
},
error:function(data){//错误输出信息
console.log('错误了');
console.log(data);
}
})
// 第二种get写法
// $.get('http://localhost:3000/users',
// {"name":"zxq"},//get的传入参数
// function(data){//成功回调函数
// console.log('成功了');
// console.log(typeof(data));
// })
})
})
</script>

get

<script>
$(function(){
$('#btn').on('click',function(){
$.ajax({
type:'POST',
url:'http://localhost:3000/users',
dataType:'json',
data:{name:'zzz'},//发送到服务器的数据,jq自动转化格式
success:function(response){//成功回调函数
console.log('成功了');
console.log(response);
},
error:function(data){//错误输出信息
console.log('错误了');
console.log(data);
}
})
})
})
</script>

post

4 vue的axios发送ajax请求

  <script>
var vm = new Vue({
el:'#app',
data:{
msg:'vue实例'
},
methods:{
getData:function(){
axios.get('http://localhost:3000/users',{
params:{//传入的参数
id:20
}
})
.then((response) => {//成功回调函数
console.log(response.data);
})
.catch((response) => {//失败回调函数
console.log('错误了');
console.log(response);
})
.finally(function(){//始终执行的函数
console.log('finally函数执行');
})
//第二种写法
// axios({
// methods:'get',
// url:'http://localhost:3000/users',
// responseType:'json'//返回数据类型
// })
// .then(function(response){
// console.log(response);
// })
}
}
})
</script>

axios

知识点总结:

ajax的总体流程

1 创建XMLHttpRequest对象

2 为这个对象设置参数,也就是open方法

3 发送设置好的参数及内容,也就是send方法

4 接收服务器的响应数据,及对响应数据进行各种操作等

xhttp 的 readyState 存的是服务器请求响应的状态信息:

0:初始化,创建了XMLHttpRequest对象

1:请求开始,初始化XMLHttpRequest对象,调用open方法

2:请求发送,调用send方法

3:开始读取服务器响应,已经接收到响应头,开始接收响应体

4:服务器接收全部完成,存入到XMLHttpRequest对象中

json(特定的字符串)与对象的相互转化:

JSON.stringify(obj) 将对象转化为json格式

JSON.parse(json)将json格式转化为对象或数组等

var get = function getData(){}

这种方式定义的,get.name = getData;

最新文章

  1. SQL Server 服务器磁盘测试之SQLIO篇(二)
  2. 仿优酷Android客户端图片左右滑动(自动滑动)
  3. --查询nvarchar(max)的表和字段
  4. DBCC SHOW_STATISTICS 查看统计信息
  5. 10本Java经典书目推荐
  6. Macbook Pro安装win7
  7. PAT-乙级-1007. 素数对猜想 (20)
  8. php数组遍历 使用foreach
  9. C++标准库之 Lower_Bound, upper_Bound
  10. boost dijkstra获得两点间的最短路
  11. (转)ie -ms-interpolation-mode: bicubic 属性详解
  12. Javaweb---服务器Tomcat与Eclipse的关联
  13. 使用 TUN 设备实现一个简单的 UDP 代理隧道
  14. TensorFlow[1]:概念和简例
  15. 【转载】从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
  16. hdu 5643 BestCoder Round #75
  17. 说一说MVC的CSRF(三)
  18. ASP.NET MVC 右键点击添加没有区域(Area)、控制器、试图等选项
  19. SpringMVC(三):参数绑定、输入输出转换
  20. (不用循环也可以记录数组里的数)Color the ball --hdu--1556

热门文章

  1. Vue入门教程 第二篇 (数据绑定与响应式)
  2. kali系统
  3. 爬虫之beautifulsoup篇之一
  4. 如何在Java中创建数组列表
  5. C#输入中文实现转拼音首字母(亲测,字库不全)
  6. HTTPS 验证访问略记
  7. DM7经常使用的命令汇总
  8. MySQL的远程连接问题 错误1130
  9. pytest7-多个fixtures执行顺序
  10. jmeter-使用代理服务器录制脚本