是否有 $.get() 方法的同步版本?[复制]

Is there a synchronous version of the $.get() method? [duplicate]

提问人:frosty 提问时间:11/14/2022 更新时间:11/15/2022 访问量:47

问:

由于 $.get() 方法是异步的,因此 getText() 函数无法在 $.get() 方法完成运行的时间内获取返回值。有没有类似的方法类似于 $.get() 方法的同步版本?

var text = getText("https://www.google.com/search?q=search");
console.log(text);

function getText(url) {

$.get( url, function( data ) {
return data;
});

} //end of function getText(URL)

返回: undefined

javascript jquery ajax 异步 同步

评论

1赞 flyingfox 11/14/2022
how-can-i-get-jquery-to-perform-asynchronous-rather-than-asynchronous-ajax-re 可能对您有所帮助
0赞 Adam Jenkins 11/14/2022
你不想同步做这件事,你真正想做的是了解如何正确地做异步:stackoverflow.com/questions/14220321/......

答:

0赞 sjb 11/14/2022 #1

请试试这个功能:

function getText(url){
  var output = '';
 $.ajax({
   url: url,
   async: false
   // ... other parameter
 }).done(function(data) {
  output = data;
 });
 return output;
}

您可以更改此 URL 后面的参数

我测试如下。它工作正常。

function getText(url){
  var output = '';
 $.ajax({
   url: url,
   async: false
   // ... other parameter
 }).done(function(data) {
  output = data;
 });
 return output;
}

var text = getText("https://jsonplaceholder.typicode.com/posts");
console.log(text);