Vue-resoure 实现get post jsonp请求
1.之前学习中,如何发起数据请求?
2.常见的数据请求类型?get post jsonp
3.常见的URL请求资源地址
get请求地址: http://vue.studyit.io/api/getlunbo
post请求地址:http://Vuestudyit.io/api/post
jsonp请求地址:http://Vuestudyit.io/api/jsonp
4.JSONP的实现原理
由于浏览器的安全性限制,不允许AJAX访问 协议不同,域名不同,端口不同 数据接口不同,浏览器认为这种访问不安全
可以通过动态创建script标签的形式,把script标签的src属性指向数据接口的地址,因为script标签不存在跨域限制,这个数据获取方式,称作为JSONP (
注意:根据JSONP的实现原理,知晓JSONP只支持GET请求)
具体的实现过程:
- 先在客户端定义一个回调方法,预定义对数据的操作
- 再把这个回调方法的名称,通过URL传参的形式 提交到服务器的数据接口
- 服务器数据接口组织好要发送给客户端的数据,在拿着客户端传递过来的回调函数方法名称,拼接出一个调用这个函数的字符串,发送给客户端去解析执行
- 客户端拿到服务器返回字符串之后,当作script脚本去解析执行,这样就能够拿到JSONP的数据了。
除了使用v-resouce之外,还可以使用axios的第三方包实现数据的请求 主流现在是axios
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./lib/vue-2.4.0.js"></script>
<!-- 引入第三方的axios cdn包 -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script> </head>
<body>
<div class="app">
<input id="aa" type="button" value="点击我" @click="getinfo">
<input type="button" value="VueGET" @click="getinfo">
</div> <script> // 使用js GET请求
window.onload=function(){
//1.获取a节点,并为其添加onclick点击函数
document.getElementById("aa").onclick=function(){
//创建一个XMLHttpRequest对象
var request=new XMLHttpRequest();
//5.调用XMLHttpRequest对象的open方法 建立与服务器之间的联系
request.open("GET",'http://www.phonegap100.com/appapi.php?a=getportalList&catid=20&page=1');
//6.调用XMLHttpRequest对象的send方法
request.send(null);
//7.为XMLHttpRequest 对象添加onreadystatechange响应函数
request.onreadystatechange=function(){
//8.判断响应是否完成:XMLHttpRequest 对象的readystate属性为4的时候
if(request.readyState==4){
//9.在判断响应是否可用,XMLHttpRequest 对象status属性值为200
if(request.status==200||request.status==304){
//10.输出结果 responseText
console.log(request);
}
}
}
//2.取消点击事件的默认行为
return false;
}
} // 使用Vue axios get请求
var vm=new Vue({ el:'.app',
data:{},
methods: {
getinfo(){ //发起get请求
var api='http://www.phonegap100.com/appapi.php?a=getportalList&catid=20&page=1';
axios.get(api).then(function(result){
console.log(result); //请求成功
});
}
},
}); </script>
</body>
</html>
Vue-resoure 实现get post jsonp请求的更多相关文章
- vue.js的ajax和jsonp请求
首先要声明使用ajax 在 router下边的 Index.js中 import VueResource from 'vue-resource'; Vue.use(VueResource); ajax ...
- [Vue] : vue-resource 实现 get, post, jsonp请求
vue-resource 实现 get, post, jsonp请求 常见的数据请求类型:get,post,jsonp 除了vue-resource之外,还可以使用axios的第三方包实现实现数据的请 ...
- Vue学习笔记【16】——vue-resource 实现 get, post, jsonp请求
除了 vue-resource 之外,还可以使用 axios 的第三方包实现实现数据的请求 之前的学习中,如何发起数据请求?原生.jQuery,需要操作DOM 常见的数据请求类型? get post ...
- 黑马vue---33、vue-resource 实现 get, post, jsonp请求
黑马vue---33.vue-resource 实现 get, post, jsonp请求 一.总结 一句话总结: vue-resource使用非常非常非常简单:this.$http.get('htt ...
- vue--vue-resource实现 get, post, jsonp请求
vue-resource 实现 get, post, jsonp请求 除了 vue-resource 之外,还可以使用 axios 的第三方包实现实现数据的请求 之前的学习中,如何发起数据请求? 常见 ...
- Vue系列(二):发送Ajax、JSONP请求、Vue生命周期及实例属性和方法、自定义指令与过渡
上一篇:Vue系列(一):简介.起步.常用指令.事件和属性.模板.过滤器 一. 发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 ...
- vue 使用 jsonp 请求数据
vue 使用 jsonp 请求数据 vue请求数据的时候,会遇到跨域问题,服务器为了保证信息的安全,对跨域请求进行拦截,因此,为了解决vue跨域请求问题,需要使用jsonp. 安装jsonp npm ...
- vue-resource: jsonp请求百度搜索的接口
1. yarn add vue-resource 2. main.js引入vue-resource import Vue from 'vue' import MintUI from 'mint-ui' ...
- Vue(八)发送跨域请求
使用vue-resource发送跨域请求 axios不支持跨域 1 安装vue-resource并引入 cnpm install vue-resource -S 2 基本用法 使用this.$http ...
随机推荐
- xml文档操作
/** * */package com.gootrip.util; import java.io.ByteArrayOutputStream;import java.io.File;import ja ...
- 123457123456#3#----com.ppGame.konglongPuzzle78--前拼后广--konglongPT游戏_pp
com.ppGame.konglongPuzzle78--前拼后广--konglongPT游戏_pp
- Django models中的meta选项
通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharFi ...
- .gitignore 模板
.gitignore 模板 HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/** ### ST ...
- pytorch 中Dataloader中的collate_fn参数
一般的,默认的collate_fn函数是要求一个batch中的图片都具有相同size(因为要做stack操作),当一个batch中的图片大小都不同时,可以使用自定义的collate_fn函数,则一个b ...
- 将WPF转为PDF
https://blog.csdn.net/xgugu1210/article/details/51878104 https://www.cnblogs.com/zeoy/archive/2013/0 ...
- PNG压缩工具-PNGGauntlet
PNGGauntlet下载地址 对于前端来说非常实用的PNG压缩软件,支持拖拽,就是软件速度比较慢.
- Ubuntu 新装服务器部署流程
1.设定时区 rm -f /etc/localtime cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2.配置apt-get源 sed -i ...
- 特征抽取: sklearn.feature_extraction.FeatureHasher
sklearn.feature_extraction.FeatureHasher(n_features=1048576, input_type="dict", dtype=< ...
- SQL优化——select
MYSQL优化实施方案:https://www.cnblogs.com/clsn/p/8214048.html 对查询时经常用到的字段建立索引,如包含多个也可以构建复合索引,建立索引之后需要注意的一点 ...