js 提交页面数据时,用ajax验证,但ajax没验证完成,页面js数据已经提交,这个怎么弄?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 提交页面数据时,用ajax验证,但ajax没验证完成,页面js数据已经提交,这个怎么弄?相关的知识,希望对你有一定的参考价值。

ajax 效率比 js 执行的效率慢 !

// 使用 jquery 来完成 ajax 操作,引用 jquery.min.js
// 其中,把提交事件写到 success:function 中就可以了
// 如果需要放在 $.ajax() 外面,则需要定义全局变量,另外,需要设置 async:false,这个属性指的是,执行完 $.ajax() 中的所有内容之后,再往下继续执行 if(yes)
$(function()
// 设置验证不通过
var yes = false;
$.ajax(
type: "POST", contentType: "application/json;charset=utf-8",
url: url + params, cache: false, async: false, dataType: "json",
success: function (result)
if(验证通过)
// $("#FormID").submit();
yes = true;


);
if(yes)
$("#FormID").submit();

)
参考技术A 可尝试如下:
1、ajax使用同步方式,ajax返回前js会一直处于等待状态
2、ajax使用异步,ajax返回后再处理js的数据,提交或者不提交
3、ajax验证时同步提交数据,验证ok同步处理数据
参考技术B 采用同步方式 ajax里面有个参数可以设置同步或异步,默认是异步 参考技术C 把提交放ajax回调函数里 参考技术D 可以贴一下代码吗,你是不是把提交事件写在验证外面了?

js通过生成临时表单再删除的方式向后台提交数据(模拟ajax的post提交但还要跳转页面不返回数据)

 

 为了避免发送数据中有特殊字符,发送时用 encodeURIComponent 编码

(其实这个 if中是直接通过浏览器下载文件的方法,else是向后台传数据的方法)

 

struts后台Action处理接收到的数据,经过转换后生产一个文件,写回到前台的方法

接收到数据后首先 url解码

然后经过处理后,生成文件写回前台下载:

知识点包括如何获取项目中的某个目录的真实路径、生成临时文件、

上图最后部分是 对要返回到前台下载的 文件 名称 的防止中文乱码处理,以及 struts如何通过 假跳转页面的方式实现 前台浏览器文件下载。

 

以上是关于js 提交页面数据时,用ajax验证,但ajax没验证完成,页面js数据已经提交,这个怎么弄?的主要内容,如果未能解决你的问题,请参考以下文章

如何验证表单数据,然后通过 AJAX 发送,然后在同一页面上显示提交的结果

java web开发,关于ajax提交验证通过后 window.open无法加载页面的问题

jsp 如何实现提交表单 但不跳转到提交页面

js通过生成临时表单再删除的方式向后台提交数据(模拟ajax的post提交但还要跳转页面不返回数据)

js实现无刷新表单提交文件,将ajax请求转换为form请求方法

jQuery 表单验证和 Ajax 提交的问题