
共同点
1、都是发送http请求
2、安全性都一样,安全性与提交方式无关
区别
ajax请求:
如果表单提交后不需要页面跳转,或者想把跳转的控制权放在前端的话,用ajax提交更方便,这样页面不用刷新,只局部刷新,加载速度快,网络带宽占用低,数据也不会闪屏
ajax在提交、请求、接收时,是异步进行的,不影响页面其他部分
ajax提交时,是在后台新建一个请求
ajax必须要用js来实现,存在调试麻烦、浏览器兼容问题、而且不启用js的浏览器,无法完成 *** 作
ajax在提交、请求、接收时,整个过程需要使用程序来对其进行数据处理
form
表单提交:
举例:
<el-form ref="form" :model="form" label-width="80px" style="width: 500px">
<el-form-item label="活动名称">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="活动区域">
<el-select v-model="form.region" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="活动时间">
<el-col :span="11">
<el-date-picker
type="date"
placeholder="选择日期"
v-model="form.date1"
style="width: 100%"
></el-date-picker>
</el-col>
<el-col :span="2">-</el-col>
<el-col :span="11">
<el-time-picker
placeholder="选择时间"
v-model="form.date2"
style="width: 100%"
></el-time-picker>
</el-col>
</el-form-item>
<el-form-item label="即时配送">
<el-switch v-model="form.delivery"></el-switch>
</el-form-item>
<el-form-item label="活动性质">
<el-checkbox-group v-model="form.type">
<el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
<el-checkbox label="地推活动" name="type"></el-checkbox>
<el-checkbox label="线下主题活动" name="type"></el-checkbox>
<el-checkbox label="单纯品牌曝光" name="type"></el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="特殊资源">
<el-radio-group v-model="form.resource">
<el-radio label="线上品牌商赞助"></el-radio>
<el-radio label="线下场地免费"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="活动形式">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">立即创建</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
data() {
return {
form: {
name: "",
region: "",
date1: "",
date2: "",
delivery: false,
type: [],
resource: "",
desc: "",
},
};
},
methods: {
onSubmit(e) {
// console.log(this.form);
e.preventDefault();
let formData = JSON.stringify(this.form);
// console.log(formData);
this.$http.post("", formData).then(function (res) {
if (res.status === 2000) {
console.log(111111)
} else {
console.log(222222)
}
});
},
},
如果表单提交以后需要重新跳转页面,或者要将跳转行为放在后端时,用表单提交更合适点,点击触发submit事件,后端控制页面的跳转及数据的传递
form表单提交会新建一个页面,会在控制器和模板之间传递更多参数
form是放弃本页面,然后再请求
form表单提交,是根据表单结构自动完成,不需要代码干预,用submit提交
form表单的属性中有校验的字段,用户只需要添加正则表达式的校验规则
form表单提交和ajax提交的使用场景和差别
评论列表(0条)