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;

js的ajax请求的更多相关文章

  1. Vue.js之Ajax请求

    Vue.js同React.Angular,可以说号称前端三巨头. 前段时间,有个哥们说,Vue.js现在出2.0版本了.可是我现在还是在用1.0的. Vue.js一直都没有好好系统的学习,包括目前公司 ...

  2. leyou_04_vue.js的ajax请求方式

    1.异步查询数据,自然是通过ajax查询,大家首先想起的肯定是jQuery.但jQuery与MVVM的思想不吻合,而且ajax只是jQuery的一小部分.因此不可能为了发起ajax请求而去引用这么大的 ...

  3. 原生js发送ajax请求

    堕落了一阵子了,今天打开博客,发现连登录的用户名和密码都不记得了.2016年已过半,不能再这么晃荡下去了. 参加了网易微专业-前端攻城狮 培训,目前进行到大作业开发阶段,感觉举步维艰.但是无论如何,不 ...

  4. js 中ajax请求时设置 http请求头中的x-requestd-with= ajax

    今天发现 AngularJS 框架的$http服务提供的$http.get() /$http.post()的ajax请求中没有带 x-requested-with字段. 这样的话,后端的php 就无法 ...

  5. 用JS实现Ajax请求

    AJAX核心(XMLHttpRequest) 其实AJAX就是在Javascript中多添加了一个对象:XMLHttpRequest对象.所有的异步交互都是使用XMLHttpServlet对象完成的. ...

  6. js的AJAX请求有关知识总结

    什么是AJAX?AJAX作用是什么? async javascript and xml(异步的javascript和xml) 作用:实现局部刷新 async:我们真实项目中一般使用AJAX从服务器端获 ...

  7. 原生JS发送Ajax请求、JSONP

    一.JS原生Ajax Ajax=异步Javascript+XML: ajax是一种数据请求的方式,不需要刷新整个页面.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax的核心 ...

  8. js原生ajax请求get post笔记

    开拓新领域,贵在记录.下面记录了使用ajax请求的get.post示例代码 //ajax get 请求获取数据支持同步异步 var ajaxGet = function (reqUrl, params ...

  9. js实现ajax请求

    练下手,好久没写ajax var xmlhttp=null;//创建XMLHttprequest function createXMLHttpRequest(){ if(window.ActiveXO ...

随机推荐

  1. slf4j输出变量

    花括号表示占位符,推荐使用

  2. 某CTF平台一道PHP代码审计

    这道题不是说太难,但是思路一定要灵活,灵活的利用源码中给的东西.先看一下源码. 首先要理解大意. 这段源码的大致的意思就是,先将flag的值读取放在$flag里面. 后面再接受你输入的值进行判断(黑名 ...

  3. kettle 利用 HTTP Client 获取猫眼电影API近期上映相关信息,并解析json

    前言 Kettle 除了常规的数据处理之外,还可以模拟发送HTTP client/post ,REST client. 实验背景 这周二老师布置了一项实验: 建立一个转换,实现一个猫眼API热映电影的 ...

  4. python3爬虫环境搭建

    安装python3 sudo apt-get install python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev ...

  5. django创建表单以及表单数据类型和属性

    08.15自我总结 关于django的表单不同关系之间的创建 一.不同关系之间的创建 1.一对一 举例 母表:userinfo id name age 1 张三 12 2 李四 58 字表:priva ...

  6. 【Spring Cloud】客户端负载均衡组件——Ribbon(三)

    一.负载均衡 负载均衡技术是提高系统可用性.缓解网络压力和处理能力扩容的重要手段之一. 负载均衡可以分为服务器负载均衡和客户端负载均衡,服务器负载均衡由服务器实现,客户端只需正常访问:客户端负载均衡技 ...

  7. PHP安装amqp拓展(win环境)

    安装php扩展amqp 先查看自己的php版本 记住版本  至于这个线程安全问题 这里引用了别人的自己看看吧  http://blog.csdn.net/aoyoo111/article/detail ...

  8. 百万年薪python之路 -- 并发编程之 多进程二

    1. 僵尸进程和孤儿进程 基于unix的环境(linux,macOS) 主进程需要等待子进程结束之后,主进程才结束 主进程时刻检测子进程的运行状态,当子进程结束之后,一段时间之内,将子进程进行回收. ...

  9. electron开发环境搭建

    开发环境 Node.js Vscode vscode安装Debugger for Chrome 创建开发目录(也是解决方案) 执行初始化命令,创建electronpicture工程,并添加main.j ...

  10. Qt乱码的问题

    1.在启动应用程序前加入以下代码: //配置字符编码环境,让应用程序支持中文. QTextCodec *codec = QTextCodec::codecForName("System&qu ...