JQuery使用Ajax时阻止表单提交的解决方法

发布时间:2013-10-24 11:41:07来源:阅读(847)

    在实际开发中,某些地方需要使用ajax来验证数据的合法性,比如:用户名是否存在,密码是否正确等。

    但由于Ajax默认情况下是采用异步传输执行的,所以无法通过在ajax的success方法中改变JQuery的全局变量来记录ajax的执行情况,从而阻止表单提交。

    在使用ajax时,可通设置async:false,来实际同步传输执行,那么JQuery会等待ajax执行完毕才继续向下执行。那么就可以通过在ajax的success方法中改变JQuery的全局变量来阻止表单提交,示例代码如下:


    01var result = true;
    02 
    03$.ajax({
    04type: “GET”,
    05url: “……”,
    06dataType: “json”,
    07async: false, // 同步传输执行
    08success: function (data) {
    09if (……) {
    10result = false;
    11}
    12}
    13});
    14 
    15return result;

关键字JQuery