當(dāng)我們使用Vue時,有時需要將一組數(shù)據(jù)通過listbean的形式上送到服務(wù)器。這時候我們可以使用Vue的jsonp插件進行操作。下面我們來詳細講解如何將數(shù)據(jù)上送到服務(wù)器。
第一步:引入jsonp插件
<script src="https://cdn.bootcss.com/vue-jsonp/0.0.7/vue-jsonp.min.js"></script>
第二步:定義數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)換為JSON格式
<script> var data = [ { name: '張三', age:18, sex:'男' }, { name: '李四', age:20, sex:'女' }, { name: '王五', age:22, sex:'男' } ]; var json = JSON.stringify(data); </script>
第三步:使用jsonp插件上送json數(shù)據(jù)
<script> Vue.jsonp('http://example.com/user/save', { userdata: json }, function (data) { console.log(data) }) </script>
這樣就完成了數(shù)據(jù)的上送。需要注意的是,在使用Vue的jsonp插件進行數(shù)據(jù)上送時,需要注意一些事項:
1. 由于jsonp和ajax使用方式不同,jsonp需要使用回調(diào)函數(shù),因此在URL后面添加一個回調(diào)函數(shù)名以便服務(wù)器返回數(shù)據(jù)后調(diào)用前端定義的回調(diào)函數(shù)處理JSON數(shù)據(jù)。
2. 在使用jsonp插件上送JSON數(shù)據(jù)時,由于jsonp僅支持GET方式提交數(shù)據(jù),因此需要將JSON數(shù)據(jù)拼接到URL中。例如:
http://example.com/user/save?jsondata={"name":"zhangsan","age":18,"sex":"male"}
3. JSON.stringify()函數(shù)用來將JavaScript對象轉(zhuǎn)換成JSON字符串,這是因為json需要將數(shù)據(jù)轉(zhuǎn)換成字符串格式,而JSON.stringify()函數(shù)能夠?qū)s對象轉(zhuǎn)換成字符串。
4. Vue.jsonp()函數(shù)用來將json數(shù)據(jù)發(fā)送到服務(wù)器端,該函數(shù)的第一個參數(shù)是請求的URL地址,第二個參數(shù)是要上送的數(shù)據(jù),第三個參數(shù)是服務(wù)器返回的數(shù)據(jù)處理方法。
總結(jié):使用Vue進行數(shù)據(jù)上送時,可以使用jsonp插件進行操作。需要注意的是,在操作過程中需要將數(shù)據(jù)轉(zhuǎn)換為JSON字符串,并注意jsonp和ajax上送方式的不同。只要遵循上述方法,就能輕松實現(xiàn)數(shù)據(jù)上送。