赞
踩
目录
1.post更安全(不会作为url的一部分,不会被缓存,保存在服务器日志,以及浏览器浏览记录中)
2.post发送的数据量更大(get有url长度限制)
3.post能发送更多的数据类型(get只能发送ASCII字符)
4.post比get慢
5.Post是向服务器提交数据的一种请求,get是向服务器发索取数据的一种请求。
5.Post是向服务器提交数据的一种请求,get是向服务器发索取数据的一种请求。
7.post请求包含更多的请求头
8.post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据
1.浏览器请求tcp连接(第一次握手)
2.服务器答应进行tcp连接(第二次握手)
3.浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进 行第一次数据发送)
4.服务器返回100 continue响应
5.浏览器开始发送数据
6.服务器返回200 ok响应
1.浏览器请求tcp连接(第一次握手)
2.服务器答应进行tcp连接(第二次握手)
3.浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
4.服务器返回200 ok响应。
- $ npm install axios // 使用npm
- $ bower install axios // 使用bower
- <script src="https://unpkg.com/axios/dist/axios.min.js"></script> // 通过cdn直接调用
import axios from 'axios';
第一种参(参数在url上)
- axios.get('/adate?id=123').then(res => {
- console.log(res);
- })
第二种传参(通过param选项传递参数)
- axios.get('/adate?id=123',{
- params: {
- id: 1
- }
- }).then(res => {
- console.log(res);
- })
- axios.post('/api/axios', {
- uname: 'lisi',
- pwd: 123
- }).then(ret => {
- console.log(ret.data)
- })
- import axios from 'axios'
-
- const service = axios.create({
- baseURL: '基础路径',
- timeout: 15000
- })
-
- //添加请求拦截器 请求接口统一添加token
- service.interceptors.request.use(
- config =>{
- // 成功的回调
- },
- error =>{
- // 失败的回调
- }
- )
-
- export default service
- import axios from 'axios'
-
- const service = axios.create({
- baseURL: '基础路径',
- timeout: 15000
- })
-
- // 响应拦截器
- service.interceptors.response.use(
- response => {
- // 成功回调
- },
- error => {
- // 失败回调
- }
- )
-
- export default service
3、案例
- /**
- * 请求封装
- */
- import axios from 'axios';
- import configUrl from './url.js';
- import store from '../store';
-
- const service = axios.create({
- baseURL: configUrl.baseURL,
- // withCredentials: true, // 当跨域请求时发送cookie
- timeout: 15000 // 请求超时
- });
-
- //添加请求拦截器 请求接口统一添加token
- service.interceptors.request.use(
- config =>{
- config.headers.token = store.getters.token || ''; //请求添加token
- return config;
- },
- error =>{
- return Promise.reject(error);
- }
- )
-
- // 响应拦截器
- service.interceptors.response.use(
- response => {
- //如果接口返回token,替换本地旧token
- if (response.headers.token) {
- sessionStorage.setItem("token", response.headers.token);
- }
- //自定义设置后台返回code对应的响应方式
- if (response.data.code == 203) { // 未登录或登录超时
- return Promise.reject(new Error('登录超时'));
- } else { //接口正常,返回数据
- return response;
- }
- },
- error => {
- if (error.message) {
- // this.$massage.error('服务器开小差了,请稍后再试!')
- //错误响应
- alert('服务器开小差了,请稍后再试!')
- }
- return Promise.reject(error);
- }
- );
- //暴露出封装过的服务
- export default service;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。