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

时间:2017-10-23 09:07:55

标签: javascript ajax asynchronous

2005年2月18日,Jesse James Garrett将首字母缩略词 AJAX 异步Javascript和XML )用于日益流行的方法,该方法利用了XMLHttpRequest对象

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

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

AJANE (异步Javascript和Nothing Else )呢?

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 是什么?
  • 为什么前者比后者更为成熟?
  • 开发时,我为什么要使用另一种方法?

N.B。 请注意,我不是在征求意见或偏好。我试图了解是否有明确的,真实的技术理由来部署XMLHttpRequest对象,只需构建一个新的<script>并将其添加到DOM。 < / p>

1 个答案:

答案 0 :(得分:3)

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

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