与下面所示的 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/