第一部分:cookie插件使用
    一、安装

    1. npm install js-cookie --save

    二、引用

    1. import Cookies from 'js-cookie'

    三、一般使用
    1.存到Cookie去

    1. // Create a cookie, valid across the entire site:
    2. Cookies.set('name', 'value');
    3. // Create a cookie that expires 7 days from now, valid across the entire site:
    4. Cookies.set('name', 'value', { expires: 7 });
    5. // Create an expiring cookie, valid to the path of the current page:
    6. Cookies.set('name', 'value', { expires: 7, path: '' });

    2.在Cookie中取出

    1. // Read cookie:
    2. Cookies.get('name'); // => 'value'
    3. Cookies.get('nothing'); // => undefined
    4. // Read all visible cookies:
    5. Cookies.get(); // => { name: 'value' }

    3.删除

    1. // Delete cookie:
    2. Cookies.remove('name');
    3. // Delete a cookie valid to the path of the current page:
    4. Cookies.set('name', 'value', { path: '' });
    5. Cookies.remove('name'); // fail!
    6. Cookies.remove('name', { path: '' }); // removed!

    四、特殊使用(在Cookie中存对象)
    跟一般使用不同的是,从Cookie中取出的时候,要从字符串转换成json格式:

    1. const user = {
    2. name: 'lia',
    3. age: 18
    4. }
    5. Cookies.set('user', user)
    6. const liaUser = JSON.parse(Cookies.get('user'))

    第二部分:ajax和axios区别
    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。

    1. axios({undefined
    2. url: 'http://jsonplaceholder.typicode.com/users',
    3. method: 'get',
    4. responseType: 'json', // 默认的
    5. data: {undefined
    6. //'a': 1,
    7. //'b': 2,
    8. }
    9. }).then(function (response) {undefined
    10. console.log(response);
    11. console.log(response.data);
    12. }).catch(function (error) {undefined
    13. console.log(error);
    14. })

    AJAX 是与服务器交换数据并更新部分网页的,在不重新加载整个页面的情况下。
    Ajax = 异步 JavaScript 和 XML(标准通用标记语言的子集)。

    1. $.ajax({undefined
    2. url: 'http://jsonplaceholder.typicode.com/users',
    3. type: 'get',
    4. dataType: 'json',
    5. data: {undefined
    6. //'a': 1,
    7. //'b': 2,
    8. },
    9. success: function (response) {undefined
    10. console.log(response);
    11. }
    12. })

    第三部分:axios请求携带cookie配置

    1. import axios from 'axios';
    2. get = (url, params) => {
    3. return axios({
    4. method: 'get',
    5. withCredentials: true, // 允许请求后端接口的时候携带cookie
    6. url,
    7. params,
    8. data: undefined,
    9. });
    10. };
    11. const post = (url, data) => {
    12. return axios({
    13. method: 'post',
    14. withCredentials: true,
    15. url,
    16. pararms: undefined,
    17. data,
    18. });
    19. };
    20. export default { get, post };

    第四部分:ajax请求
    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信。
    我们在浏览器中使用XMLHTTPRequest对象在服务器之间通信,传输的数据是使用XML的方式,但最终还是会被转换成json数据格式来被我们使用。

    1. var xhr = new XMLHttpRequest(); // 新建一个XMLHttpRequest实例
    2. xhr.open('GET', url);
    3. xhr.responseType = 'json';
    4. xhr.withCredentials = true; // 允许携带cookie
    5. xhr.send(); // 向远程主机发出一个HTTP请求
    6. xhr.timeout = 3000; // 设置超时时间
    7. // 需要监控XMLHttpRequest对象的状态变化,指定回调函数
    8. xhr.onreadystatechange = function(){
    9.     if ( xhr.readyState == 4 && xhr.status == 200 ) {
    10.       alert( xhr.responseText );
    11.     } else {
    12.       alert( xhr.statusText );
    13.     }
    14.   };