JQuery $.ajax() _sync_ 调用在语义上不是错误的吗?

Isn't a JQuery $.ajax() _synchronous_ call kind of semantically wrong?

本文关键字:错误 语义上 调用 ajax JQuery sync      更新时间:2023-09-26

我试图对api密钥发出JSON请求。

其他一些代码必须保持,直到我收到此密钥(或直到我收到超时错误(,并且由于我不想使用回调,我认为使用同步请求可能是一个很好的情况。

现在我正在使用jQuery,所以我最终在$.ajax(){}调用中编写了"async: false"。但后来我意识到我正在使用一种名为 $.ajax() 的方法来发出阻塞 http 请求。这怎么可能正确?jQuery是否仅仅出于代码实用性目的而支持"async: false"(=在两种情况下都受益于使用$.ajax()方法给出的代码一致性(?

使用设置为同步模式的简单XMLhttpRequest方法重写请求在语义上不是更正确吗?

var req = new XMLHttpRequest();
req.open('GET', url, false); 
req.send(null);
if(req.status == 200) {  alert(req.responseText); };

jQuery 库支持同步选项,因为底层XMLHTTPRequest方法也支持它。当然,正常方法是发出异步请求,但同步选项可用于实际需要的极少数情况。

关于使用 ajax 方法使用同步请求,其中名称包含异步的"a";该方法的许多其他用法也存在相同的冲突。"x"代表XML,但它通常用于获取其他格式的数据,如JSON,HTML或纯文本而不是XML。您甚至可以使用 ajax 方法发出 JSONP 请求,其中响应永远不会只是 XML。

术语AJAX刚刚包含几种类型的服务器请求,其中只有中间部分"Javascript And"是共同点。

相关文章: