Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在$.ajax jquery的成功中获取返回的数据_Javascript_Ajax_Jquery_Jqxhr - Fatal编程技术网

Javascript 在$.ajax jquery的成功中获取返回的数据

Javascript 在$.ajax jquery的成功中获取返回的数据,javascript,ajax,jquery,jqxhr,Javascript,Ajax,Jquery,Jqxhr,我有个问题。假设我有一些Ajax和jQuery,如下所示: var jqXHR = $.ajax({ type: 'POST', success: function(data) { if(data != true) { return false; } } }); 我知道$.ajax返回一个jqXHR对象。我的问题如下: 是否可以使用该jq

我有个问题。假设我有一些Ajax和jQuery,如下所示:

var jqXHR = $.ajax({
       type: 'POST', 
       success: function(data) {
             if(data != true)
             {
                  return false;
             }
       }
});
我知道$.ajax返回一个jqXHR对象。我的问题如下:

是否可以使用该jqXHR对象获取我的$.ajax调用的success函数的返回值?如果是,我该怎么做?如果使用jqXHR对象无法实现这一点,那么有没有任何方法可以在不在$.ajax中设置async:false的情况下访问success函数的返回值


有什么帮助吗?

如果不将
async
设置为
false
,这是不可能的。我建议不要将其设置为false,因为它会在服务器响应到来之前完全停止页面。有时,如果连接速度慢或服务器由于升降操作需要时间响应,它甚至会挂起浏览器


您可以在
ajax
的成功处理程序中执行代码,您计划在该处理程序之外执行

如果不将
async
设置为
false
,这是不可能的。我建议不要将其设置为false,因为它会在服务器响应到来之前完全停止页面。有时,如果连接速度慢或服务器由于升降操作需要时间响应,它甚至会挂起浏览器


您可以在
ajax
的成功处理程序中执行代码,您计划在该处理程序之外执行

在某种程度上,返回的jqXHR也是一个延迟对象,因此您可以这样做

jqXHR.then(function(data) { ... });

除了ajax回调之外,我所知道的唯一一种访问数据的方法是,在ajax请求发送后,您可以多次使用它,它将始终返回您从服务器收到的数据。

从某种程度上说,返回的jqXHR也是一个延迟对象,因此您可以这样做

jqXHR.then(function(data) { ... });

除了ajax回调之外,我所知道的访问数据的唯一其他方法是,在ajax请求发送后,您可以多次使用它,它将始终返回您从服务器收到的数据。

async:false
是敌人。避免它。将异步请求与成功回调一起使用
async:false
是敌人。避免它。使用带有成功回调的异步请求如果我使用async:false,我就不再使用Ajax了。如果我使用async:false,我不想这样做,我不再使用Ajax了。我不想那样做