网络请求(ajax,axios)
json
是一种数据格式,以字典的形式展现出来,但是其中必须是双引号
数据格式
数据的一种组装形式
同源
同协议
同域名
同端口
$.ajax() 中同时封装了ajax(不跨域)和jsonp(跨域)请求数据的方式,默认传递数据json格式的
ajax
# 必须在入口函数中执行
ajax二种书写方式
第一种
ajax中的字段
$.ajax({ url:"/index_data", //支持同源协议 type:"get", //请求方式 dataType:"json", //数据返回的类型 data:{code:codes}, // 需要传递的参数 contentType:"application/json", success:function(args) { //请求成功之后执行 console.log(args) }, error:function() { //请求失败,指的的下面某个环节出现了问题,需要重新确认一下 alert("请求超时,请刷新界面") }, async:"true" // 默认是异步传输 })
第二种
$.ajax({ url:"/index_data", type:"get", dataType:"json", data:{code:codes}, // 需要传递的参数 .done(function(){ // 请求成功之后执行 alert("OK") }), .fail(function(){ // 请求失败 alert("NG") }) async:"true" // 默认是异步传输 })
jsonp 跨域请求数据(指有可能访问别人的服务器)
是一种协议 p -> Protocol
原理
通过<script src="http://www.baidu.com"></script>中的src来发起请求
$.ajax({ url:"https://www.so.com", type:"get", dataType:"jsonp", data:{code:codes}, // 传递过程中需要传递的参数 .done(function(){ alert("OK") }) .fail(function(){ alert("NG") }) async:"true" // 默认是异步传输 })
axios请求
axios 是一个基于Promise 用于浏览器和nodejs的HTTP客户端,它本身具有以下特征:
1)从浏览器中创建 XMLHttpRequest
2)从node.js发出http请求
3)支持PromiseAPI
4)拦截请求和响应
5)转换请求和响应数据
6)取消请求
7)自动转换JSON数据
8)客户端支持防止 CSRF/XSRF
两种方式如下:
funcAdd:function(args){ console.log(args) // 访问服务器的url // 连接处没有 "," axios({ url:'/add_data', method:'get', dataType:'text', // 发送的数据格式 params:{"code":args}, // 传参关键字必须是params responseType: json // 返回响应的数据格式 }) .then(function(ret){ //请求成功后执行的代码块 alert(ret.data) }) .catch(function(){ alert("请求失败") }) }
// 这是一种含有箭头函数的axios的请求方式
axios.get(this.host + '/usernames/' + this.username + '/count/', { responseType: 'json' }) .then(response => { if (response.data.count > 0) { this.error_name_message = '用户名已存在'; this.error_name = true; } else { this.error_name = false; } }) .catch(error => { console.log(error.response.data); })

浙公网安备 33010602011771号