Jquery与2个不同的AJAX调用相比 - 想要了解是否有任何好处

时间:2013-08-06 21:53:36

标签: jquery ajax

我有2个AJAX调用可以实现相同的结果,但它们的编写方式不同。我只是想问一下它是否有任何真正的好处,或者基本上它们是否相同:

$('#joinCaptchaTextBox').keyup(function() {
    $.get('scripts/ajax/script.php', {
        'join_captcha': '1',
        'captcha': $('#joinCaptchaTextBox').val()},         
        function(data) {
            var obj = JSON.parse(data);
            if(obj.ajaxResponse.status) {
                $('#joinCaptchaNotAcceptable').hide();
                $('#joinCaptchaAcceptable').show();
            }else{
                $('#joinCaptchaAcceptable').hide();
                $('#joinCaptchaNotAcceptable').show();
            }
    });
});

$('#joinCaptchaTextBox').on('keyup', function() {
            var data = {
                    join_captcha: '1',
                    captcha : $('#joinCaptchaTextBox').val()
            };

            $.ajax({
                url : 'scripts/ajax/script.php',
                data: data,
                dataType: 'json'
            }).done(function(result) {
                $('#joinCaptchaNotAcceptable').toggle(!result.ajaxResponse.status);
                $('#joinCaptchaAcceptable').toggle(result.ajaxResponse.status);
            });
});

我可以看到第二个对切换更有效但是在这个之外是哪一个特别好?只是想了解使用哪种类型。注意:需要GET HTTP请求。

三江源

3 个答案:

答案 0 :(得分:1)

$.get$.ajax的简写,所以他们正在做同样的事情。 See the jQuery documentation

答案 1 :(得分:1)

ajax包括两种方法 发布和获取,你可以像下面一样定义它们。 $ .post(或$ .get)是ajax的一部分,比ajax更重要。仅包括url,数据,成功等方法,属性。

 $.ajax({
    type: "POST",
    url: "modplatform.php",
    data: "MPAx=index&proc=home::send_feedback&" + $('#feedback_send').serialize(),
    success: function (msg) {

        parent.$.fancybox.close();

        if (msg == '1') {

            MPAlert(msg, 'i');
        } else {

            MPAlert(msg, 'i');
        }

    }
});

}

Ajax有 beforeSend afterSend,successCode,jsonCallback等prop和方法。 $ .post和$ .get是ajax的轻量级。他们将做同样的工作,由你决定

答案 2 :(得分:0)

以下是您可能感兴趣的主题:

Is $.get of jquery asynchronous?

我想知道两者是否都是异步的。看起来他们都表达了同样的事情。