2017-04-21 69 views
0

我想從使用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; 

我得到undefined作爲輸出。如何解決這個問題?

回答

2

這將使用一些所謂的承諾,所以它需要是這個樣子......

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

See for more info

1

使用回調

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

參見How do I return the response from an asynchronous call?

+0

用20K代表你應該知道標記這個問題的問題一個副本,而不是再次回答 – andrew

+0

@andrew - 我做到了,請參閱下面的問題評論。 – Igor

+0

所以......你只是想讓它更難刪除? –