当前位置: 首页 > 面试题库 >

不建议使用Ajax异步false?

阙俊友
2023-03-14
问题内容

我正在使用jQuery 1.7,并且async:false已将其用于AJAX记录,但是我了解到该功能已被弃用。

我需要使用回调,但这不起作用:

$("#form").submit(function(e) {
var cnf;

$.ajax({
    type: "POST", 
    url: 'page.php', 
    data: $('#form').serialize(),
    async: true,
    success: function(responseText) { 
        if(responseText.indexOf('err') != -1) {
            cnf = "error";
        } 
        else {
            cnf = "success";
        }
        return callBack( cnf );
    }, 
    error: function() {
        cnf = "error";  
        return callBack( cnf ); 
    } 
});


if(cnf == "success")
{
   alert('ok');
}
});

HTML:

<form id="form">
 <input type="text" name="email">
 <input type="submit">
</form>

问题答案:

继续评论:当您似乎不需要 回调时 ,您似乎对它有些痴迷!:)

对现有代码的简单更改是丢弃cnf并简单地将代码放入ajax调用的成功部分:

$("#form").submit(function (e) {
    $.ajax({
        type: "POST",
        url: 'page.php',
        data: $('#form').serialize(),
        async: true,
        success: function (responseText) {
            if (responseText.indexOf('err') != -1) {
                // Do something when it fails here
            } else {
                // Do something when it succeeds here!!!!
                alert('ok');
                // e.g. move on to "step 2"
            }
        },
        error: function () {
           // Do something when it fails here
        }
    });
});


 类似资料:
  • 问题内容: 今天,由于扩展程序出现问题,我不得不重新启动浏览器。重新启动时发现,我的浏览器(Chromium)自动更新为不再允许同步AJAX请求的新版本。引用: 不赞成在主线程上使用同步XMLHttpRequest,因为它会对最终用户的体验产生不利影响。如需更多帮助,请访问http://xhr.spec.whatwg.org/。 我需要node.js应用程序的同步AJAX请求才能工作,因为它们通过

  • 问题内容: 我有一个ajax问题: 如果循环6次(在我的foreach循环中),我应该对服务器发出6个异步请求。但是在这种情况下,ajax调用是同步调用的,而不是异步调用的。有人知道为什么会这样吗? 问题答案: 好,谢谢。经过几个小时的分析和反思,我意识到了为什么该脚本会同步运行:我打开script.php文件,并注意到了这一点以及该文件的开头: 因此,我对使用会话的php脚本进行了并行ajax调

  • 问题内容: 同步和异步AJAX调用有什么区别?何时使用同步以及何时异步? 问题答案: 在最基本的级别上,当您希望调用在后台发生时,您可以使用异步模式,而当您希望代码等待直到调用完成时,则可以使用同步模式。 异步模式是AJAX调用的常用方法,因为通常在事件上附加一个回调函数,以便您可以在服务器端数据就绪时进行响应,而不必等待数据到达。

  • 问题内容: 我有问题.. 问题是:是不是我没有把来自 file.php的 数据仅放在最后一个div中,所以ID为9,但是现在有-所以数据在每个div中,所以这很好 但是如果我想在通过ajax加载时单击,则无法正常工作(仅在完成所有ajax-es之后) 如何解决这个问题?(也许是错误的,因为我在使用ajax。我可以使用getJSON等。) 谢谢你的帮助 问题答案: 如果希望用户在ajax调用运行时能

  • 问题内容: 我有一个包含3个输入的表单: [1]用于状态更新的文本输入字段 [2]文件上传(用于图片) [3]文本输入字段,用于附加链接 用户根据自己想做什么在每个选项之间切换。例如,当选择[2]时,输入[1]和[3]被隐藏。 所有这些输入都包含在ID为的单个表单中。选项[1]和[3]通过Ajax发布到不同的控制器。 现在我的问题是选项[2],因为不可能使用jQuery ajax上传图像。 我见过

  • 本文向大家介绍AJAX创建异步对象XMLHttpRequest有哪些步骤?相关面试题,主要包含被问及AJAX创建异步对象XMLHttpRequest有哪些步骤?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: AJAX创建异步对象XMLHttpRequest 操作XMLHttpRequest 对象 (1)设置请求参数(请求方式,请求页面的相对路径,是否异步) (2)设置回调函数,一个处理服务