精华内容
下载资源
问答
  • vue引入ajax和MD5加密

    2018-12-28 16:13:54
    vue2.0+node.js+visualCode ...提取码:jz52  首先需要在visualCode安装好脚手架后。引入ajax和MD5 开始之前需要在visualCode中使用node安装axios和md5封装内容 如 npm install --save axios npm in...

    vue2.0+node.js+visualCode

    链接:https://pan.baidu.com/s/1SsvIL5XwYQKyKrpwy0-OHQ 
    提取码:jz52 

    首先需要在visualCode安装好脚手架后。引入ajax和MD5

    开始之前需要在visualCode中使用node安装axios和md5封装内容

    如 npm install --save axios

    npm install md5-node --save

     

    首先在main.js中加入如下头部和

    import axios from 'axios' //引入ajax请求
    import md5 from 'js-md5' //md5加密
    Vue.prototype.$axios=axios //引入ajax
    Vue.prototype.$md5 = md5  //引入md5

    其中prototype对象类似于java中的对象,用于实体类命名。之后文件中可以使用重新命名的名字。例:$axios

    然后在vue中就可以正常使用了

    ajax调用

    md5加密

     

    展开全文
  • vueajax

    2019-09-29 04:45:14
    vueajax常见的有两种 ,一种是 vue-resource,一种是axios vue-resource: 是vue的插件,非官方库, vue1.x 使用广泛 如何使用: 先在vue的脚本架上安装vue-...在我们需要用到ajax的页面上引入,一般我是直接在main....
    vue的ajax常见的有两种 ,一种是 vue-resource,一种是axios
    vue-resource:
    是vue的插件,非官方库, vue1.x 使用广泛
    如何使用:
    先在vue的脚本架上安装vue-resorce库
    npm install vue-resource --save

     

     
    在我们需要用到ajax的页面上引入,一般我是直接在main.js文件上引入,后面就不需再次引入,直接引用
    // 引入模块
    import VueResource from 'vue-resource' ,
    
    
    // 使用插件
    Vue.use(VueResource)
    
    
     
    // 通过 vue/组件对象发送 ajax 请求
    this.$http.get('/someUrl').then((response) => {
    // success callback
    console.log(response.data) //返回结果数据
    }, (response) => {
    // error callback
    })

     

     
     
    axios的用法:
    跟vue-resource的用法类似,用之前需要安装axios库
    npm install axios --save

     

     
    axios直接引入后,就可直接调用,不用像vue-resource,插入插件()省了一小步)
    // 引入模块
    import axios from 'axios'
    // 发送 ajax 请求
    axios.get(url)
    .then(response => {
    console.log(response.data) // 得到返回结果数据
    })
    .catch(error => {
    console.log(error.message)
    })

     

    转载于:https://www.cnblogs.com/zexin/p/10266493.html

    展开全文
  • vue发送ajax请求详解

    2021-01-19 20:24:15
    vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本)、axios(vue2.0版本)等插件实现 axios是一个基于Promise的HTTP请求客户端,用来发送请求,也是vue2.0官方推荐的,同时不再对vue-resource进行更新...
  • <script src="../js/vue.js"> <script src="../js/index.js"></script> json页面 { "mainItems":[ {"name":"包头凉鞋","style":"抽绳设计","price":"¥329","sales":"189-239"} ], "newItems":...

    页面呈现效果:

    index.html页面

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>商品页面</title>
    		<link rel="stylesheet" href="../css/index.css">
    		<!-- <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">--> 
    	</head>
    	<body>
    		<div id="itemWrap" class="itemwrap">
    			<!-- 人气主动打榜 -->
    			<div class="mainWrap">
    				<p class="mainTitle mainTitlePadding">人气主打榜</p>
    				<div class="mainContent mainBorder">
    					<div class="icon">
    						<img src="../img/icon.png" alt="">
    						<span class="mainHotText">TOP1</span>
    					</div>
    					<div class="contextWrap">
    						<span class="ageText">0-7岁</span>
    						<p class="mainItemstitle">{{mainItems.name}} {{mainItems.style}}</p>
    						<p><span class="monIcon">¥</span><span class="mainItemsSale">{{mainItems.sales}}</span><span class="mainItemPrice">{{mainItems.price}}</span></p>
    					</div>
    					<img class="mainItemsPic" src="../img/showstop.jpg" alt="">
    				</div>
    			</div>
    			<!-- 新品上市 -->
    			<div class="mainWrap">
    				<p class="mainTitle newsTitlePadding">新品上市</p>
    				<div class="clearUl newsContent">
    					<div class="Item" v-for="item in newItems">
    						<div class="showsWrap">
    							<div class="box"><span class="SaveTitle">立省</span><span class="SavePirce">60</span><span class="Unit">元</span></div>
    							<div class="HotIcon">
    								<span class="hotText">HOT</span>
    							</div>
    						</div>
    						<p class="showTitle"><span>{{item.series}}</span> <span>{{item.name}}</span> <span>{{item.style}}</span></p>
    						<div class="priceWrap"><span class="priceTitle">吊牌价</span><span class="monIcon MonCol">¥</span><span class="price">{{item.price}}</span><span class="saleTitle">活动价</span><span class="monIcon SMonCol">¥</span><span class="salePrice">{{item.sales}}</span></div>
    						<div class="itemNoWrap"><span>货号:</span><span>{{item.itemNo}}</span></div>
    					</div>
    				</div>
    			</div>
    			<!-- TOP推荐 -->
    			<div class="mainWrap">
    				<p class="mainTitle newsTitlePadding">TOP推荐</p>
    				<div class="clearUl topContent">
    					<div class="Item" v-for="item in topItems">
    						<div class="showsW">
    							<div class="showsWrap">
    								<div class="box"><span class="SaveTitle">立省</span><span class="SavePirce">60</span><span class="Unit">元</span></div>
    								<div class="HotIcon">
    									<span class="hotText">HOT</span>
    								</div>
    							</div>
    						</div>
    						
    						<p class="showTitle"><span>{{item.series}}</span> <span>{{item.name}}</span> <span>{{item.style}}</span></p>
    						<div class="priceWrap"><span class="priceTitle">吊牌价</span><span class="monIcon MonCol">¥</span><span class="price">{{item.price}}</span><span class="saleTitle">活动价</span><span class="monIcon SMonCol">¥</span><span class="salePrice">{{item.sales}}</span></div>
    						<div class="itemNoWrap"><span>货号:</span><span>{{item.itemNo}}</span></div>
    					</div>
    				</div>
    			</div>
    			<!-- 经典必备 -->
    			<div class="mainWrap">
    				<p class="mainTitle newsTitlePadding">经典必备</p>
    				<div class="clearUl classContent">
    					<div class="Item" v-for="item in classicItems">
    						<div class="showsW">
    							<div class="showsWrap">
    								<div class="box"><span class="SaveTitle">立省</span><span class="SavePirce">60</span><span class="Unit">元</span></div>
    								<div class="HotIcon">
    									<span class="hotText">HOT</span>
    								</div>
    							</div>
    						</div>
    						
    						<p class="showTitle"><span>{{item.series}}</span> <span>{{item.name}}</span> <span>{{item.style}}</span></p>
    						<div class="priceWrap"><span class="priceTitle">吊牌价</span><span class="monIcon MonCol">¥</span><span class="price">{{item.price}}</span><span class="saleTitle">活动价</span><span class="monIcon SMonCol">¥</span><span class="salePrice">{{item.sales}}</span></div>
    						<div class="itemNoWrap"><span>货号:</span><span>{{item.itemNo}}</span></div>
    					</div>
    				</div>
    			</div>
    		</div>
    		<script src="../js/jquery3.4.1.js"></script>
    		<script src="../js/vue.js"></script>
    		<script src="../js/index.js"></script>
    	</body>
    </html>
    

    json页面

    {
    	"mainItems":[
    		{"name":"包头凉鞋","style":"抽绳设计","price":"¥329","sales":"189-239"}
    	],
    	"newItems":[
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"},
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"}
    	],
    	"topItems":[
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"},
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"},
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"}
    	],
    	"classicItems":[
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"},
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"},
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"},
    		{"name":"凉鞋","series":"750系列","style":"中性款","price":339,"sales":339,"itemNo":"SDL750pK"}
    	]
    }

    css页面

    *{
    	margin: 0;
    	padding: 0;
    }
    .itemwrap{
    	width:750px;
    	height: 2000px;
    	margin: 0 auto;
    	background: #fff;
    }
    .mainWrap{
    	width: 100%;
    }
    .mainTitle{
    	width: 100%;
    	height: 32px;
    	font-family: SourceHanSansCN-Bold;
    	font-size: 34px;
    	line-height: 21px;
    	letter-spacing: 0px;
    	color: #000000;
    	text-align: center;
    }
    .mainHotText{
    	font-family: Gotham-Bold;
    	font-size: 18px;
    	line-height: 22px;
    	letter-spacing: 0px;
    	color: #dc2121;
    	font-weight: 600;
    }
    .mainTitlePadding{
    	padding-top: 70px;
    	padding-bottom: 39px;
    }
    .mainContent{
    	width: 698px;
    	height:268px ;
    	margin: 0 auto;
    }
    .mainContent:not(:last-child){
    	margin-bottom: 20px;
    }
    .mainBorder{
    	border: 1px solid #dcdcdc;
    }
    .icon{
    	width: 82px;
    	border-right: 1px solid #dcdcdc;
    	border-bottom:1px solid #dcdcdc;
    	padding:7px 8px;
    }
    .contextWrap{
    	margin-top: 72px;
    	margin-left: 83px;
    	width: auto;
    	float: left;
    }
    .ageText{
    	padding:3px 19px ;
    	border: solid 1px #282828;
    	font-family: Gotham-Medium;
    	font-size: 18px;
    	letter-spacing: 0px;
    	color: #1c1615;
    }
    .mainItemstitle{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 30px;
    	letter-spacing: 0px;
    	color: #000000;
    	margin-top: 23px;
    	margin-bottom: 17px;
    }
    .monIcon{
    	font-size: 17px;
    	line-height: 8px;
    	letter-spacing: -1px;
    	color: #000000;
    }
    .mainItemsSale{
    	font-family: Gotham-Bold;
    	font-size: 36px;
    	letter-spacing: -1px;
    	color: #000000;
    }
    .mainItemPrice{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 17px;
    	line-height: 8px;
    	letter-spacing: -1px;
    	color: #000000;
    	opacity: 0.4;
    	margin-left: 14px;
    	text-decoration:line-through
    }
    .mainItemsPic{
    	margin-right: 40px;
        display: inline-block;
        float: right;
    }
    /* news页面 */
    .newsContent{
    	width: 700px;
    	margin: 0 auto;
    	overflow: hidden;
    }
    .newsTitlePadding{
    	padding-top: 57px;
    	padding-bottom:42px ;
    }
    .clearUl{
    	list-style: none;
    	overflow: hidden
    }
    .newsContent .Item{
    	width:339px;
    	height:425px;
    	border: 1px solid #dcdcdc;
    	float: left;
    }
    .newsContent .hotText{
    	display: inline-block;
    	font-family: Gotham-Bold;
    	font-size: 18px;
    	font-style: italic;
    	line-height: 18px;
    	letter-spacing: -1px;
    	color: #1c1615;
        margin-top: 23px;
        margin-left: 10px;
    	font-weight: 600;
    	
    }
    .newsContent .Item:nth-child(odd) {
    	margin-right: 18px;
    	margin-bottom: 20px;
    }
    .newsContent .showsWrap{
    	background:url(../img/show2.jpg) center no-repeat;
    	background-size: cover;
    	height:339px;
    	width: 339px;
    }
    
    .newsContent .SaveTitle{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 24px;
    	font-style: italic;
    	letter-spacing: 0px;
    	color: #212121;
    }
    .newsContent .SavePirce{
    	font-family: Gotham-Bold;
    	font-size: 38px;
    	font-style: italic;
    	letter-spacing: -1px;
    	color: #cf0a2c;
    	padding: 0 1px;
    	margin-top: 17px;
    	display: inline-block;
    	padding: 0 2px;
    }
    .newsContent .Unit{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 12px;
    	font-style: italic;
    	letter-spacing: 0px;
    	color: #212121;
    }
    .newsContent .box{
    	padding-bottom: 0;
    	display: inline-block;
    	margin-left: 20px;
    }
    .newsContent .HotIcon{
    	margin-top: 25px;
        float: right;
        margin-right: 22px;
    	background: url(../img/hot2.png) no-repeat center;
    	background-size: cover;
    	width: 63px;
    	height: 63px;
    }
    .newsContent .showTitle{
    	margin-top: -59px;
    	font-family: SourceHanSansCN-Medium;
    	font-size: 24px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 1px;
    	color: #1c1615;
    	text-align: center;
    }
    .newsContent .priceTitle{
    	width: 58px;
    	height: 20px;
    	font-family: SourceHanSansCN-Bold;
    	font-size: 21px;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #666666;
    }
    .newsContent .price{
    	width: 71px;
    	height: 23px;
    	font-family: MyriadPro-Regular;
    	font-size: 21px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #666666;
    	font-size: 31px;
    }
    .newsContent .MonCol{
    	color: #666666;
    	font-size: 14px;
    }
    .newsContent .saleTitle{
    	width: 60px;
    	height: 21px;
    	font-family: SourceHanSansCN-Bold;
    	font-size: 21px;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #282828;
    	margin-left: 16px;
    }
    .newsContent .salePrice{
    	width: 73px;
    	height: 25px;
    	font-family: MyriadPro-Regular;
    	font-size: 21px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #cf0a2c;
    	font-size: 31px;
    }
    .newsContent .SMonCol{
    	color: #cf0a2c;
        font-size: 14px;
    }
    .newsContent .priceWrap{
    	margin-top: 22px;
        text-align: center;
    	margin-top: 22px;
    	padding-bottom: 25px;
    	border-bottom: 1px solid #dcdcdc;
    }
    .newsContent .itemNoWrap{
    	font-family: SourceHanSansCN-Regular;
    	font-size: 24px;
    	letter-spacing: -1px;
    	color: #666666;
    	text-align: center;
    	margin-top: 12px;
    }
    .topContent{
    	width: 700px;
    	margin: 0 auto;
    }
    .topContent .Item{
    	width: 225px;
    	border: 1px solid #dcdcdc;
    	float: left;
    }
    .topContent .Item:nth-child(3n-1) {
    	margin:0 9.5px;
    }
    .topContent .Item:nth-child(3n) {
    	margin-bottom: 15px;
    }
    .topContent .showsW{
    	width: 225px;
    	height: 225px;
    }
    .topContent .showsWrap{
    	 background: url(../img/show2.jpg) center no-repeat;
    	background-size: cover;
    	height: 100%;
    	width:100%;
    }
    
    .topContent .SaveTitle{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 16px;
    	font-style: italic;
    	letter-spacing: 0px;
    	color: #212121;
    }
    .topContent .SavePirce{
    	font-family: Gotham-Bold;
    	font-size: 25px;
    	font-style: italic;
    	letter-spacing: -1px;
    	color: #cf0a2c;
    	padding: 0 1px;
    	margin-top: 17px;
    	display: inline-block;
    }
    .topContent .Unit{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 12px;
    	font-style: italic;
    	letter-spacing: 0px;
    	color: #212121;
    }
    .topContent .box{
    	padding-bottom: 0;
    	display: inline-block;
    	margin-left: 20px;
    }
    .topContent .HotIcon{
    	margin-top: 25px;
    	float: right;
    	margin-right: 22px;
    	background: url(../img/hot2.png) no-repeat center;
    	background-size: cover;
    	width: 41px;
    	height: 41px;
    	
    }
    .topContent .hotText{
    	display: inline-block;
    	font-family: Gotham-Bold;
    	font-size: 12px;
    	font-style: italic;
    	line-height: 18px;
    	letter-spacing: -1px;
    	color: #1c1615;
        margin-top: 12px;
        margin-left: 6px;
    	font-weight: 600;
    	
    }
    .topContent .showTitle{
    	margin-top: -47px;
    	font-family: SourceHanSansCN-Medium;
    	font-size: 18px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 1px;
    	color: #1c1615;
    	text-align: center;
    }
    .topContent .priceTitle{
    	width: 58px;
    	height: 20px;
    	font-family: SourceHanSansCN-Bold;
    	font-size: 14px;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #666666;
    }
    .topContent .price{
    	width: 71px;
    	height: 23px;
    	font-family: MyriadPro-Regular;
    	font-size: 21px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #666666;
    }
    .topContent .MonCol{
    	color: #666666;
    	font-size: 14px;
    }
    .topContent .saleTitle{
    	width: 60px;
    	height: 14px;
    	font-family: SourceHanSansCN-Bold;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #282828;
    	margin-left: 16px;
    }
    .topContent .salePrice{
    	width: 73px;
    	height: 25px;
    	font-family: MyriadPro-Regular;
    	font-size: 21px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #cf0a2c;
    }
    .topContent .SMonCol{
    	color: #cf0a2c;
        font-size: 14px;
    }
    .topContent .priceWrap{
        text-align: center;
    	margin-top: 10px;
    	padding-bottom: 14px;
    	border-bottom: 1px solid #dcdcdc;
    }
    .topContent .itemNoWrap{
    	font-family: SourceHanSansCN-Regular;
    	font-size: 16px;
    	letter-spacing: -1px;
    	color: #666666;
    	text-align: center;
    	margin: 8px 0;
    }
    .topTitlePadding{
    	margin: 20px;
    }
    .classContent{
    	width: 700px;
    	margin: 0 auto;
    }
    .classContent .Item{
    	width: 168px;
    	border: 1px solid #dcdcdc;
    	float: left;
    }
    
    .classContent .Item:not(:nth-child(4n+1)) {
    	margin-left:6.33px;
    }
    .classContent .Item:nth-child(4n){
    	margin-bottom: 10px;
    }
    .classContent .showsW{
    	width: 168px;
    	height: 168px;
    }
    .classContent .showsWrap{
    	 background: url(../img/show2.jpg) center no-repeat;
    	background-size: cover;
    	height: 100%;
    	width:100%;
    }
    
    .classContent .SaveTitle{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 12px;
    	font-style: italic;
    	letter-spacing: 0px;
    	color: #212121;
    }
    .classContent .SavePirce{
    	font-family: Gotham-Bold;
    	font-size: 19px;
    	font-style: italic;
    	letter-spacing: -1px;
    	color: #cf0a2c;
    	padding: 0 1px;
    	margin-top: 13px;
    	display: inline-block;
    }
    .classContent .Unit{
    	font-family: SourceHanSansCN-Medium;
    	font-size: 9px;
    	font-style: italic;
    	letter-spacing: 0px;
    	color: #212121;
    }
    .classContent .box{
    	padding-bottom: 0;
    	display: inline-block;
    	margin-left: 20px;
    }
    .classContent .HotIcon{
    	margin-top: 12px;
    	float: right;
    	margin-right: 11px;
    	background: url(../img/hot2.png) no-repeat center;
    	background-size: cover;
    	width: 35px;
    	height: 35px;
    }
    .classContent .hotText{
    	display: inline-block;
        font-family: Gotham-Bold;
        font-size: 1px;
        font-style: italic;
        line-height: 18px;
        letter-spacing: -1px;
        color: #1c1615;
        margin-top: 8px;
        margin-left: 3px;
        font-weight: 600;
    	
    }
    .classContent .showTitle{
    	margin-top: -39px;
    	font-family: SourceHanSansCN-Medium;
    	font-size: 12px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 1px;
    	color: #1c1615;
    	text-align: center;
    }
    .classContent .priceTitle{
    	width: 58px;
    	height: 20px;
    	font-family: SourceHanSansCN-Bold;
    	font-size: 10px;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #666666;
    }
    .classContent .price{
    	width: 71px;
    	height: 23px;
    	font-family: MyriadPro-Regular;
    	font-size: 16px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #666666;
    }
    .classContent .MonCol{
    	color: #666666;
    	font-size: 14px;
    }
    .classContent .saleTitle{
    	width: 60px;
    	height: 14px;
    	font-family: SourceHanSansCN-Bold;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #282828;
    	margin-left: 7px;
    	font-size: 10px;
    }
    .classContent .salePrice{
    	width: 73px;
    	height: 25px;
    	font-family: MyriadPro-Regular;
    	font-size: 16px;
    	font-weight: normal;
    	font-stretch: normal;
    	line-height: 18px;
    	letter-spacing: 0px;
    	color: #cf0a2c;
    }
    .classContent .SMonCol{
    	color: #cf0a2c;
        font-size: 14px;
    }
    .classContent .priceWrap{
        text-align: center;
    	padding-bottom: 11px;
    	border-bottom: 1px solid #dcdcdc;
    }
    .classContent .itemNoWrap{
    	font-family: SourceHanSansCN-Regular;
    	font-size: 12px;
    	letter-spacing: -1px;
    	color: #666666;
    	text-align: center;
    	margin: 6px 0;
    }
    .classTitlePadding{
    	margin: 20px;
    }
    

    js页面

    var vm =new Vue({
    	el:'#itemWrap',
    	data(){
    		return{
    			mainItems:{},
    			newItems:[],
    			topItems:[],
    			classicItems:[]
    		}
    	},
    	created() {
    		this.getItem();
    	},
    	methods:{
    		getItem:function () {
    			$.ajax({
    				type:'get',
    				url:"../js/cargos.json",
    				dataType:"json",
    				success:(data)=>{
    					this.mainItems = data.mainItems[0];
    					this.newItems =data.newItems;
    					this.topItems=data.topItems;
    					this.classicItems=data.classicItems;
    				},
    			}) 
    		}
    	}
    })

     

    展开全文
  • vue发送ajax请求

    2019-10-25 14:58:30
     一款vue插件,用于处理ajax请求,vue1.x时广泛应用,现不被维护。 2、使用流程 step1:安装 【命令行输入】 npm install vue-resource --save step2:引入 【main.js】 // 引入vue-resource import Vue...

    一、vue-resource

    1、简介

      一款vue插件,用于处理ajax请求,vue1.x时广泛应用,现不被维护。

    2、使用流程

    step1:安装

    【命令行输入】
    npm install vue-resource --save

    step2:引入

    【main.js】
    // 引入vue-resource
    import VueResource from 'vue-resource'
    
    // 使用vue-resource
    Vue.use(VueResource)

    step3:编码

    【格式:】
        this.$http.get().then()    返回的是一个Promise对象   

    step4:完整代码

     

    【使用vue-cli创建项目】
    https://www.cnblogs.com/l-y-h/p/11241503.html
    
    【main.js】
    import Vue from 'vue'
    import App from './App.vue'
    // 引入vue-resource
    import VueResource from 'vue-resource'
    
    // 使用vue-resource
    Vue.use(VueResource)
    Vue.config.productionTip = false
    
    new Vue({
      render: h => h(App),
    }).$mount('#app')
    
    
    【App.vue】
    <template>
        <div>
            <div v-if="!repositoryUrl">loading...</div>
            <div v-else>most star repository is <a :href="repositoryUrl">{{repositoryName}}</a></div>
        </div>
        <!--App -->
    </template>
    
    <script>
        export default {
            data() {
                return {
                    repositoryUrl : '',
                    repositoryName : ''
                }
            },
            
            mounted() {
                // 发ajax请求,用以获取数据,此处地址意思是查询 github中 vue 星数最高的项目
                const url = 'https://api.github.com/search/repositories?q=vue&sort=stars';
                this.$http.get(url).then(
                    response => {
                        const result = response.data.items[0];
                        console.log(result)
                        this.repositoryUrl = result.html_url;
                        this.repositoryName = result.name;
                    },
    
                    response => {
                        alert('请求失败');
                    },
                );
            }
        }
    </script>
    
    <style>
    
    </style>

     

    step5:截图:

     

     请求正常

     

     点击链接跳转

     

     使用错误的地址

     

     弹出错误提示框

     

     

    回到顶部

    二、axios

    1、简介

      一款vue库,用于处理ajax请求,vue2.x时广泛应用。

    2、流程

    step1:安装

    【命令行输入】
    npm install axios --save

    step2:引入

    【在哪里使用,就在哪里引入】
    import axios from 'axios';

    step3:完整代码

     

    【main.js】
    import Vue from 'vue'
    import App from './App.vue'
    
    Vue.config.productionTip = false
    
    new Vue({
      render: h => h(App),
    }).$mount('#app')
    
    
    
    【App.vue】
    <template>
        <div>
            <div v-if="!repositoryUrl">loading...</div>
            <div v-else>most star repository is <a :href="repositoryUrl">{{repositoryName}}</a></div>
        </div>
        <!--App -->
    </template>
    
    <script>
        import axios from 'axios';
        
        export default {
            data() {
                return {
                    repositoryUrl : '',
                    repositoryName : ''
                }
            },
            
            mounted() {
                // 发ajax请求,用以获取数据,此处地址意思是查询 github中 vue 星数最高的项目
                const url = 'https://api.github.com/search/repositories?q=vue&sort=stars';
                
                axios.get(url).then(
                    response => {
                        const result = response.data.items[0];
                        console.log(result)
                        this.repositoryUrl = result.html_url;
                        this.repositoryName = result.name;
                    }
                ).catch(
                    response => {
                        alert('请求失败');
                    },
                );
            }
        }
    </script>
    
    <style>
    
    </style>

     

    step5:截图与上面的 vue-resource 一样,此处不重复截图。

     

    展开全文
  • vue-ajax小封装实例

    2020-12-12 13:31:00
    new Vue().ajax.get(url,data,fn,ojson), 或 new Vue().ajax.post(url,data,fn,ojson) * url: 需要获取数据的文件地址 (string) * data: 需要发送的信息 (可省略) (obj) * fn: 获取信息后的回调函数,接收到的返回值...
  • Vue笔记(十二) vue-ajax

    2020-05-25 11:47:07
    vue 项目中常用ajaxvue-resource vue 插件 非官方库 vue1.x 使用广泛 axios 通用的 ajax 请求库 官方推荐 vue2.x 使用广泛 vue-resource 的使用 在线文档...
  • Vue的学习(10)Vue_Ajax

    2020-01-19 14:52:09
    Vue_Ajax vue-resource要在main中声明 //在入口文件引入 就是main.js中 import VueResource from 'vue-resource' //声明使用插件 //内部会给vm对象和组件对象添加一个属性:$http 里面有两个方法get post Vue.use...
  • vue发送AJAX请求

    2021-01-22 05:39:48
    1)vue本身不支持发送AJAX请求,需要使用vue-resource、axios等插件实现。 2) axios是一个基于Promise的HTTP请求客户端,用来发送请求,也是vue2.0官方推荐的,同时不再对vue-resource进行更新和维护。 二、使用...
  • vue-ajax小封装

    2018-02-28 18:42:15
    vue-ajax小封装 1. js 文件:    /** ajax封装:* 1. 引入文件* 2. new Vue().ajax.get(url,data,fn,ojson), 或 new Vue().ajax.post(url,data,fn,ojson)* url: 需要获取数据的文件地址 (string)* data: 需要...
  • 这次给大家带来vueajax请求与axios包完美处理,vueajax请求与axios包处理的注意事项有哪些,下面就是实战案例,一起来看一下。在vue中,经常会用到数据请求,常用的有:vue-resourse、axios今天我说的是axios的...
  • vue 发送ajax请求

    2019-11-10 16:52:00
    使用axios发送AJAX请求  1、安装axios并引入  1、npm install axios -S #直接下载axios组件,下载完毕后axios.js就存放在node_modules\axios\dist中  2、网上直接下载axios.min.js文件  3、通过script src的...
  • 一、引入vue文件,引入axios文件{# 引入vue,开发版#}{# 引入axios #}二、创建vue实例1、axios发送ajax请求的步骤1.1 get请求:axios.get(url).then(请求成功的回调函数).catch(请求失败的回调函数)注意:① url---&...
  • vueajax与框架搭建

    2019-01-12 16:57:36
    #1、通过 脚手架搭建vue项目: a、 全局安装 npm install -g @vue/cli b、创建项目 vue create projectName #2、组件的应用 a、创建一个组件文件(后缀名为.vue)文件 ...#3、ajax请求 a、通过插件axios进行异步请求...
  • vue相关ajax库的使用

    2019-02-14 16:58:00
    相关库: vue-resource: vue插件, 多用于vue1.x axios: 第三方库, 多用于vue2.x vue-resource使用 ... // 引入模块 import VueResource from 'vue-resource' // 使用插件 Vue.use(Vue...
  • 首先需要导入vue-resource.js,可以自己下载引入,也可以通过Nuget下载,它依赖于Vue.js。 全局使用方式: Vue.http.get(url,[options]).then(successCallback,errorCallback); Vue.http.post(url,[options])....
  • vue使用Ajax库axios获取接口数据axios安装与引用获取接口数据 axios 有很多时候你在构建应用时需要访问一个 API 并展示其数据。做这件事的方法有好几种,而使用基于 promise 的 HTTP 客户端 axios 则是其中非常流行...
  • Vue.js Ajax(axios) Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求。 所以必须先引入axios.js文件。 但凡知道一点JQuery基础的,都会对ajax请求有所了解,下面写一个简单的ajax请求: $.ajax({ url:"demo_...
  • 1.安装资源包 ...2.启动文件main.js,引入文件 import VueResource from 'vue-resource' Vue.use(VueResource) 3.request import header from './components/Header/header.vue' export default {
  • axios --Vue使用Ajax

    2017-10-05 19:04:26
    引入<script src="https://unpkg.com/axios@0.16.2/dist/axios.min.js"></script>或者下载到本地使用var app = new Vue({ el: '#app', data: { message: 'myVue' }, created: function () { //create
  • axios+vue进行ajax请求

    2020-06-25 21:57:47
    引入axios.min.js文件 <body> <div id="app"> <table border="1"> <tr v-for="item in userList"> <td>{{item.name}}</td> <td>{{item.age}}</td> </tr
  • vue本身不支持发送ajax请求,需使用vue-resource、axios等插件来实现 axios时一个基于Promise的HTTP请求客户端,用来发送请求,也就是vue2.0官方推荐的,同时不再对vue-resource进行更新和维护 参考:GitHub上搜索...
  • 一、安装npm install axios二、引入Vue 工程的 main.js 中,引入 axios ,并绑定到 this.$http 中async getStudentData() { const { data: res } = await this.$http.get(`...
  • Vue Ajax请求

    2019-07-24 16:33:26
    main入口引入resource插件 //入口js import Vue from 'vue' import App from './App' import './commponents/css/base.css' import VueResource from 'vue-resource' Vue.use(VueResource) new Vue({ el:'#app', ...
  • 前两天刚遇到一个问题,因为要加载阿里云地址的json文件,刚开始用的本地存放的json文件axios get加载,import ajax from 'axios'Vue.prototype.$http=ajax; this.$http.get('/global/Home.json').then((res) => ...
  • Vue之关于ajax

    2020-11-11 17:45:36
    使用ajva发送请求可以有效和后台进行数据交互处理,对于Vue来说,常用的有两个ajax库,分别是:vue-resource,axios ...2、在vue的js入口文件中引入模块,并使用这个插件,在引入模块后,默认会带有属性
  •   ①在main.js 入口中,引入VueResource,并声明使用   ②在App.vue中写发送请求的代码,下面以 get 请求方式为例 3.axios库的使用   需要在App.vue文件中导入 axios库 测试接口   接口
  • C# vue ajax 演示

    千次阅读 2018-04-12 15:27:04
    新建立文件 axios,新建文件 index.jsimport Vue from 'vue'import Vuex from "vuex"; import axios from 'axios' axios.defaults....Vue.prototype.$ajax = axiosmain.js引入import './axios'&lt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 796
精华内容 318
关键字:

vue引入ajax

vue 订阅