javascript - AJAX:使用 jQuery 的 .ajax() 而不是 XMLHttpRequest 的优势?

标签 javascript jquery ajax

与下面所示的 AJAX 函数类型相比,使用 jQuery AJAX 函数是否有真正的优势?显然,语法更简洁/更短 - 但是是否有任何明显的差异可以证明重写我现有的 ajax 代码是合理的?

var ajax = getXmlObject();
var url= '/addPartToCart.php?m=' + encodeURIComponent(m) + 
         '&q=' + qty + 
         '&refresh=' + randomString();

if (ajax.readyState == 4 || ajax.readyState == 0) {
    ajax.open("POST", url, true);
    ajax.onreadystatechange = function (){
        if (ajax.readyState == 4) {    

        }
    }; 
    ajax.send(null);
} 

function getXmlObject() {
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        //error
    }
}

更新

我重新编写了所有 AJAX 函数以使用 jQuery 的 .ajax()。我必须说我已经看到了速度和可靠性方面的显着改进。

最佳答案

您可能想看看 jQuery 的 src/ajax.js source code .这是 720 sloc 的原因之一, 而不仅仅是 10 主要是为了:

  • 修复并包装不同浏览器之间的已知不一致。这些评论将揭示其中的许多问题。

  • 提供额外的功能,例如通过同一接口(interface)处理 JSONP、事件 Hook 等,以及其他语法糖。

关于javascript - AJAX:使用 jQuery 的 .ajax() 而不是 XMLHttpRequest 的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4271486/

相关文章:

javascript - 多个 jQuery actions() 一次发生?

javascript - 使用 Rails 后端在 Angular 中渲染初始 View

javascript - "require"未定义错误 - javascript

javascript - 以编程方式替换 JSON 对象

javascript - 在 React 中设置单个子组件的样式

jquery - 文件类型的输入事件在 Safari 浏览器中未触发

javascript - 页面加载时的 Jquery keyup

javascript - 使用 jquery 为 div 分配样式

jquery - 通过 ajax 调用加载 google 图表

javascript - 使用 jquery/ajax 提交循环表单?