get post jsonp三種數(shù)據(jù)交互形式實(shí)例詳解
一、get請(qǐng)求
1.引入 vue.js 和 vue-resource.js , 準(zhǔn)備一個(gè)按鈕
<input type="button" value="按鈕" @click="get()"/> //點(diǎn)擊按鈕請(qǐng)求數(shù)據(jù)函數(shù)get()
2.準(zhǔn)備一個(gè)txt文件
welcome vue
3.編寫js代碼
<script>
window.onload=function(){
new Vue({
el:'body', //主體為body,有套div時(shí),此處為選擇器
methods:{
get:function(){
this.$http.get('a.txt').then(function(res){
alert(res.data) //成功后,彈出請(qǐng)求數(shù)據(jù)
},function(res){
alert(res.status) //失敗后,彈出請(qǐng)求狀態(tài)碼
})
}
}
})
}
</script>
二、post請(qǐng)求
1.引入 vue.js 和 vue-resource.js , 準(zhǔn)備一個(gè)按鈕
<input type="button" value="按鈕" @click="get()"/>
2.準(zhǔn)備一個(gè)php文件
<?php $a=$_POST['a']; $b=$_POST['b']; echo $a-$b; //回顯數(shù)據(jù)相減結(jié)果 ?>
3.編寫js代碼
<script>
window.onload=function(){
new Vue({
el:'body',
methods:{
get:function(){
this.$http.post('post.php',{ //發(fā)送實(shí)參數(shù)據(jù),進(jìn)行運(yùn)算(需要放在服務(wù)器環(huán)境)
a:1,
b:2
},{
emulateJSON:true //post的標(biāo)識(shí)
}).then(function(res){
alert(res.data) //成功后彈出數(shù)據(jù)結(jié)果
},function(res){
alert(res.status) //失敗后彈出狀態(tài)碼
})
}
}
})
}
</script>
三、jsonp——百度下拉列表實(shí)例
1.引入 vue.js 和 vue-resource.js , 準(zhǔn)備基礎(chǔ)樣式代碼
<style>
.gray{
background: #ccc; //按上下鍵時(shí)顯示的文字背景顏色
}
</style>
<div id="box">
<input type="text" v-model="t1" @keyup="get($event)" @keydown.down="changeDown()" @keydown.up.prevent="changeUp()"/>
//按鍵傳鍵值 get($event) 函數(shù) //按向下鍵時(shí) changeDown() 函數(shù) //按向上鍵時(shí) changeUp() 函數(shù):阻止默認(rèn)行為輸入浮上移
<ul>
<li v-for="value in myData" :class="{gray:$index==now}">{{value}}</li>
//循環(huán)myData數(shù)據(jù) 綁定樣式同時(shí)添加條件,下標(biāo)值此時(shí)為幾時(shí),背景為灰
</ul>
<p v-show="myData.length==0">暫無(wú)數(shù)據(jù)...</p> //當(dāng)數(shù)據(jù)長(zhǎng)度為0時(shí),顯示暫無(wú)數(shù)據(jù)...
</div>
2、編寫js代碼
<script>
window.onload=function(){
new Vue({
el:'#box',
data:{
myData:[],
t1:'',
now:-1
},
methods:{
get:function(ev){ //接收事件
if(ev.keyCode==38||ev.keyCode==40)return; //如果事件為向上向下則return不請(qǐng)求數(shù)據(jù)
if(ev.keyCode==13){ //如果事件為回車
window.open('https://www.baidu.com/s?wd='+this.t1); //則打開(kāi)百度對(duì)應(yīng)t1值頁(yè)面
this.t1=''; //清空輸入框
}
this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{
wd:this.t1 //截取的搜索接口,發(fā)送數(shù)據(jù)為輸入框此時(shí)輸入的數(shù)據(jù)
},{
jsonp:'cb' //callback名字,默認(rèn)為'callback'
}).then(function(res){
this.myData=res.data.s //將數(shù)據(jù)的s值賦給 myData
},function(res){
alert(res.status)
})
},
changeDown:function(){ //按下鍵時(shí)的函數(shù)
this.now++; //now下標(biāo)值++
if(this.now==this.myData.length)this.now=-1; //如果下標(biāo)值為數(shù)據(jù)長(zhǎng)度,即最后一個(gè)時(shí),為-1,跳到第一個(gè)
this.t1=this.myData[this.now] //輸入框值為此時(shí)數(shù)據(jù)中選中的值
},
changeUp:function(){ //按上鍵時(shí)的函數(shù)
this.now--; //now下標(biāo)值--
if(this.now==-2)this.now=this.myData.length-1 //如果下標(biāo)值為-2,此時(shí)now=總長(zhǎng)度-1,跳到最后一個(gè)
this.t1=this.myData[this.now] //輸入框值為此時(shí)數(shù)據(jù)中選中的值
}
}
})
}
</script>
3、類似百度搜索了。。。
總結(jié)
以上所述是小編給大家介紹的三種數(shù)據(jù)交互形式get post jsonp實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 基于ajax和jsonp的原生封裝(實(shí)例)
- 原生js的ajax和解決跨域的jsonp(實(shí)例講解)
- 基于js原生和ajax的get和post方法以及jsonp的原生寫法實(shí)例
- 全面解析Ajax和jsonp使用總結(jié)
- 使用原生js封裝的ajax實(shí)例(兼容jsonp)
- 利用jsonp與代理服務(wù)器方案解決跨域問(wèn)題
- Angular2 http jsonp的實(shí)例詳解
- 用nodejs實(shí)現(xiàn)json和jsonp服務(wù)的方法
- 使用jquery的jsonp如何發(fā)起跨域請(qǐng)求及其原理詳解
- 詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例
- Vue2.0 vue-source jsonp 跨域請(qǐng)求
- 原生js jquery ajax請(qǐng)求以及jsonp的調(diào)用方法
- 深入講解xhr(XMLHttpRequest)/jsonp請(qǐng)求之a(chǎn)bort
- AngularJS實(shí)現(xiàn)的JSONP跨域訪問(wèn)數(shù)據(jù)傳輸功能詳解
- jsonp跨域請(qǐng)求詳解
- 關(guān)于jQuery.ajax()的jsonp碰上post詳解
- jQuery Jsonp跨域模擬搜索引擎
- 詳細(xì)分析jsonp的原理和實(shí)現(xiàn)方式
相關(guān)文章
詳解微信小程序開(kāi)發(fā)用戶授權(quán)登陸
這篇文章主要介紹了微信小程序開(kāi)發(fā)用戶授權(quán)登陸,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
JS獲取當(dāng)前網(wǎng)頁(yè)大小以及屏幕分辨率等
這篇文章主要介紹了JS獲取當(dāng)前網(wǎng)頁(yè)大小以及屏幕分辨率等,方法雖簡(jiǎn)單,但比較實(shí)用,需要的朋友可以參考下2014-09-09
通過(guò)實(shí)例解析json與jsonp原理及使用方法
這篇文章主要介紹了通過(guò)實(shí)例解析json與jsonp原理及使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
帶你領(lǐng)略O(shè)bject.assign()方法的操作方式
這篇文章主要介紹了帶你領(lǐng)略O(shè)bject.assign()方法的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
javascript實(shí)現(xiàn)網(wǎng)頁(yè)背景煙花效果的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)網(wǎng)頁(yè)背景煙花效果的方法,涉及javascript數(shù)學(xué)運(yùn)算及頁(yè)面元素動(dòng)態(tài)操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
js中 計(jì)算兩個(gè)日期間的工作日的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇js中 計(jì)算兩個(gè)日期間的工作日的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
使用JavaScript鏈?zhǔn)骄幊虒?shí)現(xiàn)模擬Jquery函數(shù)
這篇文章主要介紹了使用JavaScript鏈?zhǔn)骄幊虒?shí)現(xiàn)模擬Jquery函數(shù)的方法及源碼分享,非常的不錯(cuò),推薦給大家。2014-12-12
原生js實(shí)現(xiàn)計(jì)算購(gòu)物車總金額的示例
本文主要介紹了原生js實(shí)現(xiàn)計(jì)算購(gòu)物車總金額的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04

