不同类型的ajax实现

时间:2015-07-01 10:30:20

标签: javascript php jquery ajax

我刚刚开始为我的聊天应用程序开发ajax,我在php中制作。 在线学习ajax的过程中,我在两个不同的网站上实现了ajax。 这两个ajax实现有什么区别? 任何帮助将不胜感激:)

首次实施 -

#

第二次实施 -

    <script type"text/javascript">
        $(document).ready(function() {
        var dept = '<?php echo $deptId; ?>';
        var interval = setInterval(function() {
            $.ajax({
                url: 'scripts/php/Chat.php',
                data: {dept:dept},
                success: function(data) {
                $('#messages').html(data);
            }
        });
        }, 1000);
    });
    </script>

2 个答案:

答案 0 :(得分:1)

您的第一个代码使用jQuery。 JQuery是一个丰富的js lib,可以帮助您快速编码。请参阅http://api.jquery.com/(在您的特定情况下:http://api.jquery.com/jQuery.ajax/

你的第二个代码只是javascript而没有其他库的任何帮助。它使用XMLHttpRequest,允许ajax调用。见https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

使用jQuery更容易,但有些人发现它是“overkill”:)

答案 1 :(得分:1)

功能方面,可以说它们之间没有区别。

也就是说,它们之间的第一个“区别”是第一种方法是使用JQuery,因此要使用它,您需要在项目或需要ajax功能的页面中包含JQuery Javascript库。但是,第二种方法使用“plain ole Javascript”。

同样,第一个(JQuery)方法为您处理了很多“脏”的细节,为您提供了一个($.ajax)接口,并且只需要传递一些参数:

url:您要拨打的网址

数据:您希望传递给URL的数据(GET或POST)

success:当ajax请求成功返回时应该执行的回调函数。

在执行此操作时,此方法将从您的内部实现中抽象出来。例如,它会为您处理以下内容:

  
      
  1. 浏览器嗅探/功能检测
  2.   
  3. readyStateChange(事件)检查
  4.   

和其他一些平凡的细节。

此外,使用第二种方法,如果您“尊重”$.ajax调用的接口规范,您可以放心,您的代码将主要在大多数场景(如果不是全部)中工作。 。但是,使用第二种方法,您需要进行大量测试和检查,以确保您的代码适用于所有浏览器和平台类型。