Home  >  Article  >  Web Front-end  >  About the operation of submitting data for vue.js front-end and back-end data interaction

About the operation of submitting data for vue.js front-end and back-end data interaction

不言
不言Original
2018-06-29 17:17:232204browse

This article mainly introduces the data submission operation of vue.js front-end and back-end data interaction. It analyzes in detail the form structure, constraint rules, data submission and other related operation techniques related to vue.js front-end and back-end data interaction in the form of examples. For matters needing attention, friends in need can refer to

. This article describes the submission data operation of vue.js front-end and back-end data interaction with examples. Share it with everyone for your reference, the details are as follows:

When front-end newbies first started making pages, forms were often used in our front-end pages, so learning to submit forms is also a basic skill. In fact, using ajax can It can be implemented, but its original syntax is a bit awkward. . . Forehead . . . It's complicated, so here is a way to use vue-resource to submit data to the backend.

(1) The first step is to write a form in the template;

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm">
 <el-form-item label="用户名" prop="name">
   <el-input v-model="ruleForm.name"></el-input>
 </el-form-item>
 <el-form-item label="用户类型" prop="type">
   <el-select v-model="ruleForm.type" placeholder="请选择专利类型" style="width:500px;">
 <el-option label="一级管理员" value="1"></el-option>
 <el-option label="二级管理员" value="2"></el-option>
 <el-option label="三级管理员" value="3"></el-option>
 <el-option label="普通用户" value="4"></el-option>
   </el-select>
 </el-form-item>
 <el-form-item label="出生日期" prop="date">
   <el-input v-model="ruleForm.date"></el-input>
 </el-form-item>
 <el-form-item label="备注" prop="intro">
   <el-input type="textarea" v-model="ruleForm.intro" :rows="10"></el-input>
 </el-form-item>
 <el-form-item>
   <el-button type="primary" @click="submitForm(&#39;ruleForm&#39;)">提交</el-button>
 </el-form-item>
</el-form>

(2) Define the form content in the data Constraint rules for fields and forms;

data() {
   return {
    ruleForm: {
       name: &#39;&#39;,
       type: &#39;&#39;,
       date: &#39;&#39;,
       intro: &#39;&#39;,
     }
   }
 rules: {
     name: [
      { required: true, message: &#39;请输入用户名&#39;, trigger: &#39;blur&#39; },
      { min: 1, max: 20, message: &#39;长度在 1 到20个字符&#39;, trigger: &#39;blur&#39; }
     ],
     type: [
      { required: true, message: &#39;请选择用户类型&#39;, trigger: &#39;change&#39; }
     ],
     date: [
      { required: true, message: &#39;请输入出生日期&#39;, trigger: &#39;blur&#39; },
      { min: 1, max: 100, message: &#39;长度在 1 到 100 个字符&#39;, trigger: &#39;blur&#39; }
     ],
     intro: [
      { required: true, message: &#39;请输入备注&#39;, trigger: &#39;blur&#39; },
      { min: 50, max: 500, message: &#39;请输入至少50个字&#39;, trigger: &#39;blur&#39; }
     ],
    }
}

(3) Define the method of submitting the form

methods:{
submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
      this.$http.get(baseURL+"api/create?table=user&"+getParamsString(param)).then(function(res){
            if(res.body==1){
              this.$alert("提交成功", &#39;提交结果&#39;, {
                confirmButtonText: &#39;确定&#39;,
                type: &#39;success&#39;,
                callback: action => {
                },
              });
            }
            else{
              this.$alert("提交失败", &#39;提交结果&#39;, {
                confirmButtonText: &#39;确定&#39;,
                type: &#39;warning&#39;,
                callback: action => {
                },
              });
            }
          })
        } else {
          console.log(&#39;error submit!!&#39;);
          return false;
        }
      });
    }
}

The baseURL and API in the above submission function are introduced as follows:

Here we introduce a method of requesting data from the backend using vue-resource.

For example, request a table from the backend,

(1) First, return a msg:[] array in data to receive the table data;

(2) Define a request function in the method. For example, the function name here is defined as showDetails;

methods:{
  showDetails:function(){
    this.$http.get(baseURL+"api/条件").then(function(res){
      this.msg = res.body;
    });
  }
}

The path of the baseURL project here, if the project is deployed on the server The general format above is www.XXX.com/project name; the subsequent api is the api interface encapsulated by the backend; and then the conditions are statements such as querying and deleting the table. For example, if you want to query the table named student and need to obtain the confidence of the student whose ID is 40001, the query statement can be written as 'query?table=student&studentIDeq=40001'. It should be noted that it is related to the operation field of the database (in layman's terms, It can be understood that the fields defined by the backend) should be enclosed in quotation marks, while the fields defined by the front end should be placed outside the quotation marks;

(3) Finally, don’t forget that this request operation is not called and is executed by default. So it needs to be executed in real time in mounted;

mounted: function (){
   this.showDetails();
}

Okay, this function is completed. You can get it from the backend through the network view of the browser console. The data can also be seen through the console printout! ! !

of course. The premise is that there is a table named user in your database, which contains name, type, date, and intro fields, and the back-end interface has been defined, otherwise it will not succeed.

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Introduction to dynamically setting routing parameters in Vue

About vue.js integration in mint-ui Carousel image

The above is the detailed content of About the operation of submitting data for vue.js front-end and back-end data interaction. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn