jQuery Ajax选项-我需要建议

jQuery Ajax Options - I need advice

本文关键字:Ajax 选项 jQuery      更新时间:2023-09-26

当我使用jQuery ajax时,我总是想到它的选项"async",我知道这是什么意思(异步JavaScript和XML),但有时我需要在语句完成之前使用ajax,例如表单验证,当我签入db时,如果用户名存在,我总是添加ajax选项"async:false"。这样做不好吗?我需要你的建议:)

我的代码:

var content = $("#content");
function ajaxResponse()
{
    var r = null;
    $.ajax({
        type: 'POST',
        url: 'data.html',
        async: false,
        success: function(data) {
            r = data;
        }
    });
    return r;
}
setInterval(function(){ 
    content.text(ajaxResponse());
},1000);

以下是我的代码,除了我不会发布到html页面,而是加载一个html页面,而不是

var content = $("#content"), tId;
function ajaxResponse() {
    $.ajax({
        type: 'POST',
        url: 'data.php',
        success: function(data) {
            content.text(data);
            tId = setTimeout(ajaxResponse,1000); // run again
        }
    });
}

使用html页面更新内容:

content.load("somepage.html");

如果你想使用ajax进行客户端验证,那么也许你应该考虑两者都做:

  • 禁用"提交"按钮
  • ajax异步调用

然后,一旦激发ajax回调,如果验证成功,就可以启用提交按钮。如果验证失败,则可以显示错误消息。

使用ajax异步:

function ajaxResponse()
{
    $.ajax({
    type: 'POST',
    url: 'data.html',
    async: false,
    success: function(data) {
        r = data;   //code here will not be run until the ajax request is complete
    }
  });
}

// script will pause here until ajax request is complete if async is true;