gpt4 book ai didi

javascript - 如果JSONP只是动态脚本,那么什么时候发出请求?

转载 作者:行者123 更新时间:2023-11-28 13:37:49 24 4
gpt4 key购买 nike

显然,使用 jQuery.ajax 的 JSONP 请求并不是真正的异步,而只是使用脚本 DOM 元素方法,向页面添加脚本标记。我从这里发现:https://groups.google.com/forum/#!topic/jquery-dev/5-tKI-7zQvs ,其中指出:

Cross-domain JSONP isn't AJAX at all. It doesn't use XMLHttpRequest. It's nothing more than a dynamic script element that loads JavaScript code.

然后在页面加载后处理该动态脚本元素(在 JSONP 的情况下,这仅意味着使用源自 .ajax 调用中指定的 url 的 JSON 数据参数执行回调函数)。

如果我在 HTML 网页中有以下代码:

<script>
jQuery(document).ready(function() {
jQuery.ajax({dataType:'jsonp', data:'FIRST'...});
});
</script>
<script>
jQuery(document).ready(function() {
jQuery.ajax({dataType:'jsonp', data:'SECOND'...});
});
</script>

事情的顺序是什么?

会是:

(1) 用于执行添加到 DOM 的第一个请求的脚本标记

(2) 添加到 DOM 中执行第二个请求的脚本标记

(3) 发出第一个请求

(4) 提出第二个请求

或者:

(1) 用于执行添加到 DOM 的第一个请求的脚本标记

(2) 发出第一个请求

(3) 添加到 DOM 中执行第二个请求的脚本标记

(4) 提出第二个请求

或者也许以上都不是我的误解?

谢谢。

最佳答案

Apparently JSONP requests using jQuery.ajax is not really asynchronous

这是错误的,他们是。

rather it just uses the Script DOM Element approach, adding a script tag to the page.

确实如此。

Cross-domain JSONP isn't AJAX at all. It doesn't use XMLHttpRequest.

XMLHttpRequest 不是 Ajax 的先决条件。 (XML 不是 Ajax 或 XMLHttpRequest 的先决条件(它们的名称中只有 XML,因为 XML 在当时很酷,开发人员需要说服经理将其添加到产品中))

what would the order of things be?

  1. 第一个脚本将运行(创建一个就绪的事件处理程序)
  2. 第二个脚本将运行(创建第二个就绪事件处理程序)
  3. 将触发就绪事件
  4. 第一个动态脚本元素将添加到页面
  5. 第二个动态脚本元素将添加到页面
  6. 第一个动态脚本元素将执行
  7. 将执行第二个动态脚本元素

关于javascript - 如果JSONP只是动态脚本,那么什么时候发出请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com