【已解决】同时使用ajax和form表单传数据的冲突问题
昨天踩了一个大坑,下面总结一下:
前后端数据交互的两种方式:
1、ajax发起请求(请求中可以带有数据)并获取返回的数据
下面给出一个ajax的常见格式:
1 $.ajax({
2 url:"http://www.test.com", //请求的url地址
3 dataType:"json", //返回格式为json
4 async:true,//请求是否异步,默认为异步,这也是ajax重要特性
5 data:{"id":"1","name":"名字"}, //参数值
6 type:"GET", //请求方式
7 beforeSend:function(){
8 //请求前的处理
9 },
10 success:function(req){
11 //请求成功时处理
12 },
13 complete:function(){
14 //请求完成的处理
15 },
16 error:function(){
17 //请求出错处理
18 }
19 });
实现这种方式的常见方法是给html的标签添加事件,用事件驱动ajax完成数据交互,比如:
1 <select id="myselect">
2 <option value="result_data" selected>全部数据</option>
3 <option value="result_cj">财经</option>
4 <option value="result_fc">房产</option>
5 <option value="result_game">游戏</option>
6 <option value="result_js">军事</option>
7 <option value="result_jy">教育</option>
8 <option value="result_kj">科技</option>
9 <option value="result_qc">汽车</option>
10 <option value="result_ty">体育</option>
11 <option value="result_tyjd">体育焦点</option>
12 <option value="result_zhty">综合体育最新</option>
13 <option value="result_yl">娱乐</option>
14 </select>
15 <button onclick="tijiao()">检索</button>
上面的代码通过给一个button添加tijiao( )事件,把select标签的数据传递到后端
1 function tijiao(){
2 var select_value= document.getElementById("myselect").value
3 $.ajax({
4 url:"/cloud_data?data="+select_value+"",
5 async:true,
6 success:function(data) {
7 option.series[0].data=data.data
8 // 使用刚指定的配置项和数据显示图表。
9 myChart.setOption(option);
10 },
11 error:function (xhr,type,errorThrown) {
12 alert("出现错误!")
13 }
14 })
15 }
2、提交form表单发起请求并传递数据
如果想把select标签的数据传递到后端,还有一种方式是提交表单,也就是使用form和input标签的submit。
关键在于form提交和ajax提交这两种方式是不可以混用的,因为表单和ajax同时提交的话,页面就会整体刷新。
我的问题在于在一个form表单的有submit属性的标签上添加了ajax事件,用两种方式同时提交数据,每次提交之后,ajax并不能获取到后台传回的数据,
因为ajax执行成功之后,form表单也提交了,页面会整体刷新一次,数据无法回传也就无法进行下面的操作,这样就进入了一个错误的循环,每次提交
数据确实可以提交到后端,但是返回的数据无法被接收,因为页面被整体刷新了。
【已解决】同时使用ajax和form表单传数据的冲突问题的更多相关文章
- 3..jquery的ajax获取form表单数据
jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...
- html基础:jquery的ajax获取form表单数据
jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...
- django ajax提交form表单数据
后台: from django.shortcuts import render from django.shortcuts import redirect from django.shortcuts ...
- 使用ajax提交form表单,包括ajax文件上传 转http://www.cnblogs.com/zhuxiaojie/p/4783939.html
使用ajax提交form表单,包括ajax文件上传 前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },&qu ...
- ajax提交form表单
1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...
- 记住 MVC里用formcollection接收form表单传来的值,表单属性必须有name为健!
记住 MVC里用formcollection接收form表单传来的值,input属性必须有name为健! 调了一晚上!! 写个日志记下!!
- ajax提交form表单资料详细汇总
一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味 ...
- 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式
今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...
- jquery实现ajax提交form表单的方法总结
本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一: function AddHandlingFeeToRefund( ...
- jquery的ajax提交form表单方式总结
方法一: function AddHandlingFeeToRefund() { var AjaxURL= "../OrderManagement/AjaxModifyOrderServic ...
随机推荐
- Jsp+Servlet实现文件上传下载(二)--文件列表展示
接着上一篇讲: Jsp+Servlet实现文件上传下载(一)--文件上传 点击打开链接 本章来实现一下上传文件列表展示,同时优化了一下第一章中的代码. 废话少说,上代码 --------------- ...
- SIP协议解析
起始行(start-line) INVITE sip:34020000001320000001@202.102.11.27:35611 SIP/2.0 请求消息的起始行包括三个参数,格式:Reques ...
- LayUI框架应用常见问题
https://layui.itze.cn/index.html LayUI框架文档主页 获取URL参数 诸如表格中的"编辑","详情"工具按钮,需要在弹出层页 ...
- Gitlab 16.9.0 用Access Token注册Gitlab Runner
升级到当前最新版Gitlab之后 在"管理中心"的"CI/CD"--"Runners"下,提示以前的那种注册令牌的方式已经过时了. 点击右上 ...
- 【Azure 应用服务】Function App中的函数(Functions)删除问题
问题描述 Function App 中的函数如何删除问题 问题分析 1)在Function App的门户上,点击"Delete"进行删除 2) 进入Function App的高级管 ...
- 微信小程序开发:接入阿里云人像动漫化api接口
前面我已经把腾讯云的人像转动漫化接口接到了我的小程序里,但是和阿里云的对比后,发现阿里云的效果会更好一些,且支持更多特效,如下: 我比较喜欢这个3D特效风格,动画3D也可以,大家拭目以待. 话说上次接 ...
- Excel去除表格密码保护
表格受密码保护时,我们修改数据Excel弹出"您试图更改的单元格或图表受保护,因而是只读的.若要修改受保护单元格或图表,请先使用'撤消工作表保护'命令(在'审阅'选项卡的'更改'组中)来取消 ...
- mysql视图详细笔记
1 #视图 2 /* 3 含义:虚拟表,和普通表一样使用 4 mysql5.1版本出现的新特性,是通过表动态生成的数据 5 6 比如:舞蹈班和普通班级的对比 7 创建语法的关键字 是否实际占用物理空间 ...
- masscode.io snippets 和 vscode 联动 代码片段
https://masscode.io/ 软件作用 代码片段 vscode 可以联动使用 下载不行 慢的话, 下载 fastgithub,打开后再下载
- display标签简介
下面是网友总结的display标签的优缺点: 1. 分页 如果想对代码分页,只需在display:table标签中添加一项pagesize="每页显示行数" 2. 对列排序 dis ...