Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 如何异步获取响应文本?_Javascript_Jquery_Ajax_Asynchronous - Fatal编程技术网

Javascript 如何异步获取响应文本?

Javascript 如何异步获取响应文本?,javascript,jquery,ajax,asynchronous,Javascript,Jquery,Ajax,Asynchronous,我正在尝试使用ajax从URL获取响应文本。如果我将async标志设置为false,下面的代码可以正常工作,但jQuery会发出警告: jquery.min.js:4主线程上的同步XMLHttpRequest被弃用,因为它会对最终用户的体验产生有害影响 代码如下: function verifyUser() { var response = $.ajax({type: "GET", url: "/verify/4512h58", async: false}).responseText;

我正在尝试使用ajax从URL获取响应文本。如果我将
async
标志设置为
false
,下面的代码可以正常工作,但jQuery会发出警告:

jquery.min.js:4主线程上的同步XMLHttpRequest被弃用,因为它会对最终用户的体验产生有害影响

代码如下:

function verifyUser()
{
    var response = $.ajax({type: "GET", url: "/verify/4512h58", async: false}).responseText;
    console.log(response);
}
如果我将
async
标志设置为
true
,就像这样

var response = $.ajax({type: "GET", url: "/verify/112358", async: true}).responseText;
我将
未定义
作为输出。如何解决此问题?

使用回调函数

var response = "";
$.ajax({type: "GET", url: "/verify/112358", async: true})
     .then(function(x){
        response = x.responseText
     });
另请参见使用回调

var response = "";
$.ajax({type: "GET", url: "/verify/112358", async: true})
     .then(function(x){
        response = x.responseText
     });

另请参见

这使用了一种称为承诺的东西,因此它需要看起来像这样

var response = $.ajax({
  type: "GET",
  url: "/verify/4512h58"
}).done(function (response) {
  console.log(response);
});

这使用了一种叫做承诺的东西,所以它需要看起来像这样

var response = $.ajax({
  type: "GET",
  url: "/verify/4512h58"
}).done(function (response) {
  console.log(response);
});

有了20k代表,您应该知道将这个被问得过多的问题标记为重复问题,而不是回答again@andrew-是的,请看问题下面的评论。所以。。。你只是想让它更难删除?@MikeMcCaughan-问题不会经常被删除,尤其是如果它是真正的重复问题。相反,它会被标记为这样,但会在系统中挂起。我以为它们是Roomba接收的,但显然不包括重复的。我很抱歉。对于20k代表,您应该知道将这个被问到的问题标记为重复问题,而不是回答它again@andrew-是的,请看问题下面的评论。所以。。。你只是想让它更难删除?@MikeMcCaughan-问题不会经常被删除,尤其是如果它是真正的重复问题。相反,它会被标记为这样,但会在系统中挂起。我以为它们是Roomba接收的,但显然不包括重复的。我道歉。