-1

我有 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 请求。

谢谢你

4

3 回答 3

1

$.get是 的简写$.ajax,所以他们在做同样的事情。请参阅 jQuery 文档

于 2013-08-06T21:55:32.850 回答
1

ajax 包括 post 和 get 两种方法,你可以像下面这样定义它们。$.post(或 $.get)是 ajax 的一部分,比 ajax 轻。仅包括 url 、 data 、 success 等方法、属性。

 $.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 等道具和方法。$.post 和 $.get 是轻量级的 ajax。他们会做同样的工作,这取决于你

于 2013-08-06T22:02:29.247 回答
0

这是您可能感兴趣的主题:

jquery 的 $.get 是异步的吗?


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

于 2013-08-06T21:57:36.813 回答