传统的Ajax或Jquery Ajax哪个更好?

时间:2010-10-06 09:05:53

标签: javascript jquery ajax

这只是一个普遍的问题。哪个更好,传统的ajax还是jquery ajax? 因为当我使用jquery ajax时,它似乎在IE中做了时髦奇怪的东西。它应该是一个跨浏览器的库......所以我对使用哪个库感到困惑。我再次问这个是因为串行杀手IE ......

时髦奇怪的东西,即有时它会在几次请求后停止向服务器发送信息,即使我把'cache:false'。

4 个答案:

答案 0 :(得分:5)

没有任何有意义的区别。 jQuery的ajax()自然建立在XMLHttpRequest上,它们的行为应该相同。我认为其他一些脚本错误导致了“时髦奇怪的东西”。

注意如果你想在没有大型JS库的情况下进行跨浏览器的XMLHttpRequest,那么它实际上非常简单。您只需要修复IE6:

if (!window.XMLHttpRequest && 'ActiveXObject' in window) {
    window.XMLHttpRequest= function() {
        return new ActiveXObject('MSXML2.XMLHttp');
    }
}

然后您可以在任何地方使用标准new XMLHttpRequest界面。不再需要部署overrideMimeType hack(用于古老的Mozilla里程碑版本),并且从未需要尝试多个ActiveXObject progids。

答案 1 :(得分:2)

易。 JQuery的。

缺点:

  1. 额外脚本加载
  2. 上升空间:

    1. 在所有主要浏览器中标准化API
    2. 一致< 2分钟在这里等待答案,因为你有任何问题:)
    3. 许多增强功能

答案 2 :(得分:2)

jQuery $.ajax()应该可以在IE中正常运行。它使用XMLHttpRequest就像你自己使用的那样。但是jQuery的方法已经在它上面增加了很少的东西,以使它尽可能地在不同的浏览器之间保持一致。

看看jQuery's ajax source code。其中593 sloc而不仅仅是4的一个原因是修复并包装不同浏览器之间的所有不一致。评论将揭示其中许多问题。

答案 3 :(得分:2)

你显然必须花时间学习jQuery框架,但结果是jQuery是最常用的JS框架之一。所以你的时间投入会得到回报,因为你会发现jQuery除了Ajax通信之外还可以做其他事情。

jQuery允许遍历DOM树的方式也是至关重要的,这使得在jQuery中开发事物变得非常简单。