0

我想知道我需要在哪里使用async: false, or async: true Jquery Ajax 方法

我有一个带有字段的表单,当我单击按钮时,我正在调用 jquery ajax 方法以将值从该字段保存到服务器

$.ajax({
                        url: "../Member/Home.aspx/SaveClient",
                        type: "POST",
                        async: false,
                        dataType: 'json',
                        contentType: 'application/json; charset=utf-8',
                        data: "{'projectSoid': '" + $("#hdnValueProjectSoid").val()
                            + "', 'name': '" + Name
                            + "', 'industry ': '" + Industry
                            + "', 'descriptions ': '" + Descriptions
                            + "', 'employment ': '" + Employment
                            + "', 'email  ': '" + Email
                            + "', 'phone  ': '" + Phone + "'}",
                        success: function (response) {
                            if (response.d != null) {

                        },
4

2 回答 2

0

Async :您尝试获取的 ajax 响应与您正在执行的下一个任务无关。

同步:您尝试接收的 ajax 响应依赖于您正在执行的下一个任务。

于 2013-03-08T08:47:05.000 回答
0

这是用例。从文档。

默认情况下,所有请求都是异步发送的(即默认设置为true)。如果您需要同步请求,请将此选项设置为 false。跨域请求和 dataType: "jsonp" 请求不支持同步操作。请注意,同步请求可能会暂时锁定浏览器,从而在请求处于活动状态时禁用任何操作。从 jQuery 1.8 开始,不推荐在 jqXHR ($.Deferred) 中使用 async: false ;您必须使用成功/错误/完成回调选项而不是 jqXHR 对象的相应方法,例如 jqXHR.done() 或已弃用的 jqXHR.success()。

异步

  1. 当您进行跨域请求时。
  2. 这是 $.ajax 的默认设置。

同步 :

  1. 当您要完成ajax调用的请求时,即意味着一个又一个请求。这是不推荐的。

jQuery中的异步

于 2013-03-08T08:41:08.877 回答