javascript - Ajax(以前称为 AJAX)和 AJANE 之间的实际区别是什么?

标签 javascript ajax asynchronous

2005 年 2 月 18 日,Jesse James Garrett 将首字母缩略词 AJAX(Asynchronous Javascript and XML)命名为一种日益流行的利用 XMLHttpRequest 的方法。对象。

参见: http://adaptivepath.org/ideas/ajax-new-approach-web-applications/

在相对较短的时间内,JSON 成为首选的数据交换格式,AJAX(现在实际上是 AJAJ)成为 Ajax(一个名称 - 而不是首字母缩略词 -异步数据检索的方法)。

但是 AJANE (异步 Javascript 和别的什么)呢?

function retrieveMyAsynchronousData() {
    var myAsynchronousData = document.createElement('script');
    myAsynchronousData.setAttribute('src', '/data/my-asynchronous-data.js');
    document.body.appendChild(myAsynchronousData);
}

myElement.addEventListener('click', retrieveMyAsynchronousData, false);

毫无疑问,Ajax 是行业标准方法,而不是 AJANE - 但为什么呢?它是否更快、更安全、更优化​​?

  • Ajax 相对于 AJANE实际优势是什么?
  • 为什么前者比后者更成熟?
  • 在开发时,为什么我应该使用一种方法而不是另一种方法?

注意 请注意,我不是在征求意见或偏好。我试图了解部署 XMLHttpRequest 是否有明确的、现实的、技术上的理由对象超越简单地构建一个新的<script>并将其添加到 DOM。

最佳答案

AJANE(一个我今天之前从未听说过的术语,我在 Google 上找不到任何引用资料)通常被称为 JSONP。它:

  • 需要创建一个全局变量来处理响应(好吧,这适用于普通的 JSONP。您的方法似乎涉及响应,包括内部的所有内容,而不是简单的函数调用,它会引入额外的问题:)
    • 对同一端点的多个请求每次都必须获取所有逻辑来处理它
    • 调用函数在它可以提供给全局变量和字符串的上下文信息方面是有限的
  • 不提供有关响应状态的任何信息(例如,您无法检测到 404 或 500 错误)
  • 依赖于向页面注入(inject)软件而不是数据,这意味着您必须绝对信任数据的提供者
  • 仅限于发出 GET 请求

关于javascript - Ajax(以前称为 AJAX)和 AJANE 之间的实际区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46885599/

相关文章:

javascript - 如何将空数据发送到组合存储

javascript - 更改标题附加而不是重写

jquery - 设置ajax调用返回数据的最短时间

javascript - Codeigniter:通过Ajax上传图像并存储在数据库中

c# - 调用异步 ActionResults 时,AllowVoidAsyncOperations 何时设置?

javascript - 如何使Parse中的save函数以同步方式工作

javascript - jsx 上的占位符错误

javascript - 添加和删​​除类,在滚动上应用样式

jquery - 使用 JSON 数据填充下拉菜单

c# - 我可以等待我用生成器创建的可枚举吗?