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. dapperHelper

    public class DapperHelper { /// 数据库连接名 private static string _connection = string.Empty; /// 获取连接名 p ...

  2. JDK1.7 和JDK1.8同时存在设置默认的JDK

    最近学习SpringCloud需要安装JDK1.8 但是自己的项目在1.8的环境中运行不了 无论怎么修改使用cmd  中命令的java -version 都显示是jdk 1.8 将java home  ...

  3. Golang中的Map(集合)

    Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值. Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它.不过,Map 是无 ...

  4. npm 安装 -D 和-S的区别

    -D 是在开发环境中协助开发需要使用的-S是生产环境打包时需要的,在package.json中 -D在devDependencies对象中,-S在dependencies对象中

  5. 07点睛Spring MVC4.1-ContentNegotiatingViewResolver

    转发地址:https://www.iteye.com/blog/wiselyman-2214965 7.1 ContentNegotiatingViewResolver ContentNegotiat ...

  6. python解析本地HTML文件

    Python使用爬虫技术时,每运行一次,本地都会访问一次主机.为避免完成程序前调试时多次访问主机增加主机负荷,我们可以在编写程序前将网页源代码存在本地,调试时访问本地文件即可.现在我来分享一下爬取资料 ...

  7. WPF 使用winform的webbrowser

    首先要添加如下引用: WindowsFormsIntegration System.Drawing System.Windows.Forms 然后在xaml中添加引用 xmlns:winform=&q ...

  8. 洛谷 题解 P1041 【传染病控制】

    [思路] 题目给出一棵树.第\(i\)步拆的一定是第\(i\)层与第\(i+1\)层之间的连边,否则不是最优(自行证明即可),所以可以暴力枚举每一次拆哪一个节点与上一个节点的连边. 把所有节点所在的层 ...

  9. 039 Android SQLite数据库(了解)

    1.介绍 注意:当有大量相似结构的数据需要存储的时候,需要使用数据库. 2.SQLiteOpenHelper简介 注意:数据库的创建方法总结: (1)定义一个类继承SQLiteOpenHelper o ...

  10. golang之结构体结构体嵌入和匿名成员

    考虑一个二维的绘图程序,提供了一个各种图形的库,例如矩形.椭圆形.星形和轮形等几何形状.这里是其中两个的定义: type Circle struct { X, Y, Radius int } type ...