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. 关于ajax提交表单的一些实例及遇到的问题和解决办法

    ajax提交的表单有两种情况: 第一种:input type类型没有file上传文件类型的表单 第二种:input type类型有file上传文件类型的表单 之所以分为两种:是因为原生ajax是不能提 ...

  2. 我的Java秋招面经大合集

    阿里面经   阿里中间件研发面经 蚂蚁金服研发面经 岗位是研发工程师,直接找蚂蚁金服的大佬进行内推. 我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer. 然后我也参加了 ...

  3. Redis 介绍学习

    1.Redis 简介 Redis 是一个支持数据结构更多的键值对数据库.它的值不仅可以是字符串等基本数据 类型,也可以是类对象,更可以是 Set.List.计数器等高级的数据结构. Memcached ...

  4. Eclipse 创建 Maven 项目

    本人也是新手小白,在创建 Maven 项目的时候几乎踩完了所有的坑.特此总结如下: 1.咱先选中 File -> New -> Maven Project 2.然后如下图    在这里说明 ...

  5. samba文件共享服务部署

    1.安装samaba服务程序 yum install -y samba 2.查看smaba文件,由于注释空行较多,选择过滤 egrep -v "#|;|^$" /etc/samba ...

  6. Windows 批处理入门

    Windows 批处理入门   目录 本教程概述 用到的工具 标签 简介 1.命令简介 2.符号简介 3.语句结构 4.实例讲解 本教程概述 本课我们学习windows批处理 用到的工具 cmd.ex ...

  7. javascript语言学习

    本课将和大家一起学习简单的js dom 操作,涵盖DOM API以及JQuery的方法. 相关简介             JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语 ...

  8. My Idea About ID wly_sh (关于用户名 wly_sh 的猜想)

    I Wanna Say Is That- There's a guy called wsh in our computer room. That guy registered a blog in CS ...

  9. [POJ2262] Goldbach’s Conjecture

    Goldbach's Conjecture Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 48161   Accepted: ...

  10. [BZOJ1415][NOI2005]聪聪与可可

    Description Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点 ...