亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue表單數據交互提交演示教程

 更新時間:2019年11月13日 09:12:04   作者:liguanjie8  
今天小編就為大家分享一篇vue表單數據交互提交演示教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

歡迎來到 vue-form 表單提交演示間, 你有更好的建議,請告知樓主額!

1. 客戶端 html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <!-- 開發(fā)環(huán)境版本,包含了有幫助的命令行警告 -->
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 <!-- 生產環(huán)境版本,優(yōu)化了尺寸和速度 -->
 <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->

 <!-- axios -->
 <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="app">
 <h1>歡迎來到 vue-form 表單提交演示間, 你有更好的建議,請告知樓主額!</h1>
 <table class="table">
  <thead>
  <tr>
   <th>box</th>
   <th>new</th>
   <th>rank</th>
   <th>desc</th>
   <th>title</th>
  </tr>
  </thead>
  <tbody>
  <tr v-for="(v,i) in tabData">
   <td>{{v.box}}</td>
   <td>{{v.new}}</td>
   <td>{{v.rank}}</td>
   <td><input type="text" v-model="tabData[i]['desc']"></td>
   <td>{{v.title}}</td>
  </tr>
  </tbody>
 </table>
 <p>
  <button @click="submit" type="primary">提交</button>
 </p>
</div>

<script type="application/javascript">
 var app = new Vue({
  el: '#app',
  data: {
   tabData: [
    {
     "box": 21650000,
     "new": true,
     "rank": 1,
     "desc": 'desc1',
     "title": "Geostorm"
    },
    {
     "box": 13300000,
     "new": true,
     "rank": 2,
     "desc": 'desc2',
     "title": "Happy Death Day"
    }
   ],
   form: {
    firstName: 'Fred',
    lastName: 'Flintstone'
   }
  },
  methods: {
   submit: function () {
    /**
     * 多維數組對象降級為可供 axios 使用的form表單序列化數據
     **/
    function jsonData(arr) {
     let json = "";
     function fors(data, attr=false) {
      data = JSON.parse(JSON.stringify(data));
      for (let key in data) {
       if(Array.isArray(data[key]) || Object.prototype.toString.apply(data[key]) ==='[object Object]'){
        fors(data[key], true);
       } else {
        if(attr){
         json = json + '&'+ key + '[]' +'=' + data[key];
        }else {
         json = json + '&'+ key +'=' + data[key];
        }
       }
      }
     }
     fors(arr);
     return json;
    }
    console.log(jsonData(this.form));
    console.log('---------------');
    console.log(jsonData(this.tabData));
    console.log('---------------');

    // 提交用戶數據
    axios({
     url: './index.php',
     method: 'post',
     data: jsonData(this.tabData),
     /**
      * 1. 如果后臺可接受 application/json 方式提交數據 則:
      *  * 不需要 transformRequest 函數處理請求數據
      *  * 不需要 jsonData 函數對數據進行降維處理
      * 2. PHP 后臺 可通過以下方式解析 application/json 數據
      *  * $form = file_get_contents('php://input');
      *  * $form = json_decode($form);
      *
      * 3. 當然:**樓主強烈建議**使用 application/json 方式提交數據。
      * 4. 如果大家覺得麻煩可以考慮使用 JQ了
      */
     transformRequest: [function (data) {
      // Do whatever you want to transform the data
      if(Array.isArray(data) || Object.prototype.toString.apply(data) ==='[object Object]'){
       let ret = '';
       for (let it in data) {
        ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
       }
       return ret
      } else {
       return data;
      }
     }],
     headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
     }
    }).then(function (res) {
     console.log('數據提交成功');
     console.log(res.data);
    })
   }
  }
 });
</script>
<style type="text/css">
 table{border-collapse: collapse;border: 1px solid red;}
 th,td{border: 1px solid red;}
</style>
</body>
</html>

2. 服務端,以PHP為例

<?php
header("Access-Control-Allow-Origin:*");
header('Access-Control-Allow-Headers:x-requested-with,content-type');

/**
 * 接收 x-www-form-urlencoded form表單提交數據
 */
echo json_encode($_REQUEST);

/**
 * 1. $GLOBALS ["HTTP_RAW_POST_DATA"];  需要配置服務器才可以使用
 * 2. file_get_contents('php://input');  無須配置即可使用
 *
 * 接收 application/json 提交數據
 */
$form = file_get_contents('php://input');
$form = json_decode($form);
print_r($form);

以上這篇vue表單數據交互提交演示教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Ant Design Vue resetFields表單重置不生效問題及解決

    Ant Design Vue resetFields表單重置不生效問題及解決

    這篇文章主要介紹了Ant Design Vue resetFields 表單重置不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue+iview寫個彈框的示例代碼

    vue+iview寫個彈框的示例代碼

    本篇文章主要介紹了vue+iview寫個彈框的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 一文搞懂Vue里的過渡和動畫

    一文搞懂Vue里的過渡和動畫

    在Vue中,過渡和動畫是一種用于在組件之間添加平滑過渡效果和動畫效果的高級用法,Vue提供了一些內置的過渡和動畫功能,同時也支持自定義過渡和動畫效果,本文就給大家介紹一些Vue中過渡和動畫的高級用法,需要的朋友可以參考下
    2023-06-06
  • 詳解用vue-cli來搭建vue項目和webpack

    詳解用vue-cli來搭建vue項目和webpack

    本篇文章主要介紹了詳解用vue-cli來搭建vue項目和webpack,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 圖文講解用vue-cli腳手架創(chuàng)建vue項目步驟

    圖文講解用vue-cli腳手架創(chuàng)建vue項目步驟

    本次小編給大家?guī)淼氖顷P于用vue-cli腳手架創(chuàng)建vue項目步驟講解內容,有需要的朋友們可以學習下。
    2019-02-02
  • vue+elementUI實現表格關鍵字篩選高亮

    vue+elementUI實現表格關鍵字篩選高亮

    這篇文章主要為大家詳細介紹了vue+elementUI實現表格關鍵字篩選高亮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • vue+iview使用樹形控件的具體使用

    vue+iview使用樹形控件的具體使用

    這篇文章主要介紹了vue+iview使用樹形控件的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 移動端調試神器vConsole使用詳解

    移動端調試神器vConsole使用詳解

    vConsole?是框架無關的,可以在?Vue、React?或其他任何框架中使用,今天通過本文給大家介紹移動端調試神器vConsole使用,感興趣的朋友一起看看吧
    2022-04-04
  • Vue的computed計算屬性你了解嗎

    Vue的computed計算屬性你了解嗎

    這篇文章主要為大家詳細介紹了Vue的computed計算屬性,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Vue.js 2.0中select級聯下拉框實例

    Vue.js 2.0中select級聯下拉框實例

    在網上搜索了Vuejs2.0 動態(tài)級聯select許久未果,決定自己總結一下自己的經驗,有關select在Vue.js 2.0版本中的應用,需要的朋友可以參考下
    2017-03-03

最新評論