我有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请求。
三江源
答案 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)