使用JQuery运行AJAX和使用纯XMLHttpRequest运行AJAX有什么区别?

时间:2014-12-25 12:58:07

标签: javascript jquery ajax

通过JQuery运行AJAX代码并通过XMLHttpRequest运行它有什么优缺点和区别?我认为它是相同的,因为JQuery只是一个Javascript库,但同样必须有更多......

3 个答案:

答案 0 :(得分:1)

你可以在jQuery和Javascript中做所有事情,包括AJAX。

但更喜欢jQuery的理由(Javascript的缺点):

  1. 没有跨浏览器支持。

  2. 复杂编码

  3. 更多简单功能的编码

  4. 您无法在所有浏览器及其版本的测试中浪费时间

  5. jquery网站上有很棒的文档,但javascript缺乏它。

  6. 所有伟大公司都使用它 - > https://jquery.org/members/

  7. 对您来说什么方便?

  8. Javascript

    function loadXMLDoc() {
      var xmlhttp;
      if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
      } else { // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("POST","demo_post2.asp",true);
      xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      xmlhttp.send("fname=Henry&lname=Ford");
    }
    

    的jQuery

    $("button").click(function(){
      $.ajax({url:"demo_test.txt",success:function(result){
        $("#div1").html(result);
      }});
    });
    

    底线 - > jQuery是javascript上的一个层,用于以更好的方式简化你可以(并且不能)用javascript做的事情。

    所以依赖jQuery进行ajax调用。

答案 1 :(得分:0)

我认为像jQuery一样;它只是一个简化和/或鼓励x浏览器支持的便捷方法的问题

答案 2 :(得分:0)

是的,你是对的,因为jQuery只是一个JS库,所以它是一样的......

在jQuery中你没有一件事可以用普通的JS做。如果性能真的很重要(CPU密集的应用程序,游戏等),你就远离这么重的图书馆。看到这个:http://vanilla-js.com/你会发现很多有趣的性能和代码比较(偏向JS,我同意,但我认为这是有原因的。)

使用jQuery使用AJAX的唯一好处是不得不编写少量代码,再次以降低库的速度为代价。对于一个简单的网站,你不会注意到性能差异,但是对于任何要求更高的东西......让我说我知道很多人(包括我自己)最终将jQuery功能重写为普通的JS。同样,这一切都取决于你想用它做什么 - 如果你只需要AJAX功能,我强烈建议在普通JS中编写一个包装器函数并继续使用它;但是如果你不想打扰所有这些并且对jQuery感觉更舒服,请使用jQuery - 特别是因为AJAX函数中的大部分时间花在了服务器请求上。

你会在这个问题中找到一些有趣的观点:When to use Vanilla JavaScript vs. jQuery?

这是一个有趣的(仍然有用):https://meta.stackexchange.com/questions/45176/when-is-use-jquery-not-a-valid-answer-to-a-javascript-question