JS 语言 和 服务端 交互的手段。
全称:Asynchronous JavaScript and XML
// 1. 创建 ajax 对象
//IE9以上
let xhr = new XMLHttpRequest()
//IE9以下
const xhr = new ActiveXObject('Mricosoft.XMLHTTP')
// 2. 配置请求信息
xhr.open(‘GET’, ‘./test.php’, true)
// 3. 发送请求
xhr.send()
// 4. 接受响应
xhr.onload = function () {
console.log(xhr.responseText)
}
0 => 创建 ajax 对象成功
1 => 配置请求信息成功
2 => 响应已经回到浏览器
3 => 浏览器正在解析响应体
4 => 响应体解析完毕可以使用了
100 ~ 199表示连接继续
200 ~ 299各种成功
300 ~ 399重定向
400 ~ 499客户端错误
500 ~ 599服务端错误
GET – 向服务器获取
POST – 向服务器传递
PUT – 向服务器传递,并让服务器添加
DELETE – 让服务器删除
HEAD – 只是用于获取响应头
PACTH – 和 PUT 类似, 只不过更倾向于更新局部数据
CONNECT – 预留方式, 管道连接更改为代理连接使用
OPTIONS – 允许客户端查看服务端性能
get:
将数据在,url后,拼接即可
post:
将数据放在send的参数内,但是提前要设置发送数据的格式:
ajax对象.setRequestHeader("Content-type","application/x-www-form-urlencoded");
//创建
// 标准浏览器
let xhr = new XMLHttpRequest()
// IE 低版本
let xhr = new ActiveXObject(‘Microsoft.XMLHTTP’)
//接收响应
// 标准浏览器
xhr.onload = function () {
console.log(xhr.responseText)
}
// IE 低版本
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText)
}
}
get 请求的参数就直接在 url 后面进行拼接就可以
const xhr = new XMLHttpRequest()
// 直接在地址后面加一个 ?,然后以 key=value 的形式传递
// 两个数据之间以 & 分割
xhr.open('get', './data.php?a=100&b=200')
xhr.send()
post 请求的参数是携带在请求体中的,所以不需要再 url 后面拼接
const xhr = new XMLHttpRequest()
xhr.open('get', './data.php')
// 如果是用 ajax 对象发送 post 请求,必须要先设置一下请求头中的 content-type
// 告诉一下服务端我给你的是一个什么样子的数据格式
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
// 请求体直接再 send 的时候写在 () 里面就行
// 不需要问号,直接就是 'key=value&key=value' 的形式
xhr.send('a=100&b=200')
application/x-www-form-urlencoded
表示的数据格式就是 key=value&key=value
function ajax(ops){
ops.type = ops.type || "get";
ops.data = ops.data || "";
// ops.url = ops.type=="get" ? ops.url + "?" + ops.data : ops.url;
if(ops.type=="get"){
// 在get请求时,使用时间戳避免,缓存问题
let t = new Date().getTime();
ops.url = ops.url + "?__qft="+ t + "&" + ops.data;
}
var xhr = new XMLHttpRequest();
xhr.open(ops.type, ops.url);
if(ops.type == "get"){
xhr.send();
}else{
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(ops.data);
}
xhr.onreadystatechange = function(){
if(xhr.readyState === 4 && xhr.status === 200){
ops.success(xhr.responseText);
}
}
}
本文实例讲述了jsp中page指令用法。分享给大家供大家参考。具体如下: 一、JSP ...
一、简介 本设计为硬币图像识别统计装置通过数码相机获取平铺无重叠堆积的硬币的...
大家好,今天我们来简单的聊一聊缓存问题。什么是缓存呢?它在系统设计中是在一个...
从功能测试、性能测试、界面测试、安全性测试、易用性、兼容性测试、震动测试七...
我们知道微软将会在今年给Windows10更换全新设计的UI,让Windows10的界面更加整...
首先给扑克牌中每张牌设定一个编号,下面算法实现的编号规则如下: u 红桃按照从...
前言 关于Window,你了解多少呢?看看下面这些问题你都能答上来吗。 如果你遇到这...
今日国内领先的智能数据服务运营商觉非科技完成近亿元A轮融资。本轮融资由和高资...
一、MVC MVC模式的意思是,软件可以分成三个部分。 视图(View):用户界面。 控...
git工作区,暂存区,版本库之间的关系: 我们建立的项目文件夹就是工作区,在初...