.ajax语法beforesend(xhr)修改跨域请求头_Vue(Ajax、Axios、json、数据接口、同源策略、跨域解决方法)...

本文介绍了Vue中使用axios进行数据请求,讲解了JSON数据格式、Ajax的原理与使用,特别是面对同源策略时如何通过CORS解决跨域问题。还探讨了jQuery中的$.ajax()函数以及Ajax跨域的其他解决方案。
摘要由CSDN通过智能技术生成

今日内容

  • 通过axios实现数据请求
  • json
  • ajax
  • 数据接口
  • ajax的使用
  • 同源策略
  • 跨域解决方法
知乎视频​www.zhihu.com

4.通过axios实现数据请求

vue.js默认没有提供ajax功能的。

所以使用vue的时候,一般都会使用axios的插件来实现ajax与后端服务器的数据交互。

注意,axios本质上就是javascript的ajax封装,所以会被同源策略限制。

下载地址:

在网页中打开,ctrl+s保存成文件

https://unpkg.com/axios@0.18.0/dist/axios.js
https://unpkg.com/axios@0.18.0/dist/axios.min.js

使用文档:https://www.kancloud.cn/yunye/axios/234845

axios提供发送http请求的常用方法有两个:axios.get() 和 axios.post() 。

增 post

删 delete

改 put/patch

查 get

// 发送get请求
    // 参数1: 必填,字符串,请求的数据接口的url地址,例如请求地址:http://www.baidu.com?id=200
    // 参数2:可选,请求参数和请求头内容,json对象,要提供给数据接口的参数
    axios.get('服务器的资源地址',{
     // http://www.baidu.com
        params:{
    
            参数名:'参数值key' : 'value', // id: 200,
        },
        headers:{
    
            选项名:'选项值', // 请求头
        }

    }).then(response=>{
     // 请求成功以后的回调函数
            console.log("请求成功");
            console.log(response.data); // 获取服务端提供的数据

    }).catch(error=>{
       // 请求失败以后的回调函数
            console.log("请求失败");
            console.log(error.response);  // 获取错误信息
    });

    // 发送post请求,参数和使用和axios.get()类似。
    // 参数1: 必填,字符串,请求的数据接口的url地址
    // 参数2:必填,json对象,要提供给数据接口的参数,如果没有参数,则必须使用{}
    // 参数3:可选,json对象,请求头信息
    axios.put('服务器的资源地址',{
    
        username: 'xiaoming',
        password: '123456'
    },{
    
        headers:{
    
            选项名:"选项值",
        }
    })
    .then(response=>{
     // 请求成功以后的回调函数
      console.log(response);
    })
    .catch(error=>{
       // 请求失败以后的回调函数
      console.log(error);
    });


    // b'firstName=Fred&lastName=Flintstone'
注意:
axios.delete()的用法和参数与axios.get()一样
axios.put() 或者axios.patch的用法和参数与axios.post()一样
在http协议中,不同的请求动作都有不同的含义,例如:
get代表向目标服务器请求获取数据
post代表向目标服务器请求上传数据
put代表向目标服务器请求更新数据【修改全部数据】
patch代表向目标服务器请求更新数据【修改部分数据】
delete代表向目标服务器请求删除数据

4.1 json

json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式。

json的作用:在不同的系统平台,或不同编程语言之间传递数据。

4.1.1 json数据的语法

json数据对象类似于JavaScript中的对象,但是它的键对应的值里面是没有函数方法的,值可以是普通变量,不支持undefined,值还可以是数组或者json对象。

// 原生的js的json对象
var obj = {
    
  age:10,
  sex: '女',
  work:function(){
    
    return "好好学习",
  }
}
// json数据的对象格式,json数据格式,是没有方法的,只有属性,属性值:字符串,数值(整数,浮点数,布尔值), json,
{
    
    "name":"tom",
    "age":18
}

// json数据的数组格式:
["tom",18,"programmer"]

复杂的json格式数据可以包含对象和数组的写法。

{
    
  "name":"小明",
  "age":200,
  "is_delete": false,
  "fav":["code","eat","swim","read"],
  "son":{
    
    "name":"小小明",
    "age":100,
    "lve":["code","eat"]
  }
}

// 数组结构也可以作为json传输数据。

json数据可以保存在.json文件中,一般里面就只有一个json对象。

总结:

1. json文件的后缀是.json
2. json文件一般保存一个单一的json数据
3. json数据的属性不能是方法或者undefined,属性值只能:数值[整数,小数,布尔值]、字符串、json和数组
4. json数据只使用双引号、每一个属性成员之间使用逗号隔开,并且最后一个成员没有逗号。
   {
    
      "name":"小明",
      "age":200,
      "fav":["code","eat","swim","read"],
      "son":{
    
        "name":"小小明",
        "age":100
      }
    }

工具:postman可以用于测试开发的数据接口。

4.1.2 js中提供的json数据转换方法

javascript提供了一个JSON对象来操作json数据的数据转换.

| 方法      | 参数     | 返回值   | 描述                             
| | --------| -------- | -------- | -------------------------------- | 
| stringify 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值