没有回调的ajax

4

是否有任何JavaScript框架具有以下功能:

  • 发起AJAX请求
  • 返回响应

    (它不以回调函数作为参数)

我基本上想以与在C、Python或其他语言中执行SQL查询相同的方式执行AJAX请求。


6
如果你要做AJAX,就需要学会如何进行异步编程。这意味着传递回调函数而不是阻塞等待返回值。 - friedo
3个回答

5

是的,你可以这样做,但这是一种非常糟糕的做法。JavaScript引擎是单线程的,你可能会导致UI被锁定。


很好,清晰明了。我喜欢这个答案,但我接受了Brian的答案,因为他提到了框架和函数。 - Pawel Furmaniak

3
不行,因为如果它没有使用回调函数,那么它就不是异步的,因此它就不再是AJAX(异步JavaScript和XML)了。虽然将X替换为JSON或文本是常见做法,但“异步”这个部分非常重要。
你可以发起同步请求,但它有自己的问题...特别是有时候网页和界面会在请求返回之前出现冻结的情况。

@Sky 是的,如果你使用 JSON 而不是 XML,那就会是 SJAJ... 有点难说 :) - Doug Neiner
AJAX只是一个在当时听起来很不错的发明缩写,而不是某种法律。在我看来,XHR(XmlHttpRequest)更加准确,并且它并不排除同步请求。 - KooiInc

2
那将是一个同步请求,JQuery确实有这个功能:http://api.jquery.com/jQuery.ajax/。我不知道它是否真正是同步的,因为我没有以这种方式尝试过。请查看此文档中的async设置,并将其设置为false。

1
它是同步的,但在请求加载时会冻结浏览器,存在跨域问题,可能还有其他问题。 - Jordan Mack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接