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请求的更多相关文章

  1. vue.js的ajax和jsonp请求

    首先要声明使用ajax 在 router下边的 Index.js中 import VueResource from 'vue-resource'; Vue.use(VueResource); ajax ...

  2. [Vue] : vue-resource 实现 get, post, jsonp请求

    vue-resource 实现 get, post, jsonp请求 常见的数据请求类型:get,post,jsonp 除了vue-resource之外,还可以使用axios的第三方包实现实现数据的请 ...

  3. Vue学习笔记【16】——vue-resource 实现 get, post, jsonp请求

    除了 vue-resource 之外,还可以使用 axios 的第三方包实现实现数据的请求 之前的学习中,如何发起数据请求?原生.jQuery,需要操作DOM 常见的数据请求类型? get post ...

  4. 黑马vue---33、vue-resource 实现 get, post, jsonp请求

    黑马vue---33.vue-resource 实现 get, post, jsonp请求 一.总结 一句话总结: vue-resource使用非常非常非常简单:this.$http.get('htt ...

  5. vue--vue-resource实现 get, post, jsonp请求

    vue-resource 实现 get, post, jsonp请求 除了 vue-resource 之外,还可以使用 axios 的第三方包实现实现数据的请求 之前的学习中,如何发起数据请求? 常见 ...

  6. Vue系列(二):发送Ajax、JSONP请求、Vue生命周期及实例属性和方法、自定义指令与过渡

    上一篇:Vue系列(一):简介.起步.常用指令.事件和属性.模板.过滤器 一. 发送AJAX请求 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 ...

  7. vue 使用 jsonp 请求数据

    vue 使用 jsonp 请求数据 vue请求数据的时候,会遇到跨域问题,服务器为了保证信息的安全,对跨域请求进行拦截,因此,为了解决vue跨域请求问题,需要使用jsonp. 安装jsonp npm ...

  8. vue-resource: jsonp请求百度搜索的接口

    1. yarn add vue-resource 2. main.js引入vue-resource import Vue from 'vue' import MintUI from 'mint-ui' ...

  9. Vue(八)发送跨域请求

    使用vue-resource发送跨域请求 axios不支持跨域 1 安装vue-resource并引入 cnpm install vue-resource -S 2 基本用法 使用this.$http ...

随机推荐

  1. ROS学习笔记(一)

    运行ROS例程(turtlesim)1)安装turtlesim包sudo apt-get install ros-kinetic-turtlesim2)运行管理器节点roscore3)运行turtle ...

  2. 【445】Markdown Syntax

    ref: Markdown基本语法 ref: Markdown Guide ref: Markdown Cheatsheet ref: Markdown Tutorial Lists Basic Sy ...

  3. mysql quick query row count using sql

    1. command show table status like '{table-name}'; 2. sample mysql> use inventory; Database change ...

  4. 【超分辨率】—图像超分辨率(Super-Resolution)技术研究

    一.相关概念 1.分辨率 图像分辨率指图像中存储的信息量,是每英寸图像内有多少个像素点,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸.一般情况下,图像分辨率越高,图像中包 ...

  5. Sublime Text3安装及常用插件安装

    为了使用强大好用的代码编辑器来进行selenium3+Python3的自动化测试. 使用Sublime Text 3非常适合. 1.下载安装 首先到http://www.sublimetext.com ...

  6. k8s 使本地集群支持 LoadBalancer 服务

    k8s 使本地集群支持 LoadBalancer 服务 为了使本地集群支持 LoadBalancer 服务,可以参考以下两种实现方案: keepalived-cloud-provider metalL ...

  7. 【ARM-LInux开发】利用scp 远程上传下载文件/文件夹

    利用scp 远程上传下载文件/文件夹 scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o s ...

  8. 实现不同分辨率、不同浏览器下高度自适应、iframe高度自适应

    html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...

  9. [转帖]Hadoop、Hive、Spark 之间关系

    Hadoop.Hive.Spark 之间关系 https://www.cnblogs.com/jins-note/p/9513426.html 很的很诙谐有趣. 作者:Xiaoyu Ma ,大数据工程 ...

  10. Resin 与 Tomcat 服务器对比

      Resin 与 Tomcat对比(个人总结) 图片来源Tomcat PK Resin 上图对比发现Tomcat对于Resin来说,有诸多优点,但是Resin也有很多优点. 比方说: 速度比较 re ...