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

JavaScript027

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

// 使用 jquery 来完成 ajax 操作,引用 jquery.min.js

// 其中,把提交事件写到 success:function 中就可以了

// 如果需要放在 $.ajax() 外面,则需要定义全局变量,另外,需要设置 async:false,这个属性指的是,执行完 $.ajax() 中的所有内容之后,再往下继续执行 if(yes)

$(function(){

// 设置验证不通过

var yes = false

$.ajax({

type: "POST", contentType: "application/jsoncharset=utf-8",

url: url + params, cache: false, async: false, dataType: "json",

success: function (result) {

if(验证通过){

// $("#FormID").submit()

yes = true

}

}

})

if(yes){

$("#FormID").submit()

}

})

用ajax一般都是需要有和数据库交互的操作,比如在注册的时候 要判断用户名是否存在,或者禁止用户,注册你不想让他注册的一些关键字(这些关键字需要在数据库中有张表记录,这也需要与数据库交互),其他的 比如 用户名不能为空,不是有下划线,不能有特殊字符。等等。。这个建议你用正则表达式来验证,这玩意灰常强大。

最后说下:你用ajax返回值的时候最好是返回数字

if(验证用户名是否存在的方法)

{

Response.Write("0")

Response.End()

}

else

{

Response.Write("1")

Response.End()

}

if(验证用户名是否含有非法字符)

{

Response.Write("3")

Response.End()

}

else

{

Response.Write("4")

Response.End()

}

这样你在js接受返回值的时候可以根据返回值,给出不同的提示,用户体验更好。

js实现ajax提交数据库到后台,表示你的ajax写的封装方法去验证和提交数据就已经完成了。用js去动态的获取,ajax提交不会刷新整个网页,是一个局部的提交。后台代码是整个框架,你所有的代码功能实现。你写的功能的详解就是用ajax去调用各种方法(例:验证登陆名是否存在,是否已经登陆,调用查询方法过后返回是否可以登录的详细信息),后台验证然后提交到数据库,返回页面等。