jquery不立即更新DOM?
我已经看过其他一些问题,并尝试了一些选择,但仍然有点损失。jquery不立即更新DOM?
编辑 - 只是为了显示实际的AJAX调用正在取得..
$.ajax({
type: 'GET',
url: 'AJAXget/getPostcodeCheck.ashx',
data: 'postcode=' + postcode,
async: false,
timeout: 10000,
success: postcodeCallback,
error: function() {
alert('Sorry, there was an issue contacting the server.. please retry.');
return;
}
});
我有以下的jQuery AJAX绑定功能,在这里我想展示一些东西正在加载例如..
$('#' + btnID).bind('ajaxStart', function() {
$('#' + btnID).append('<div>loading</div>');
});
这只是一个基本的例子..我没有使用addClass函数来元素(#btnID是一个div),但似乎没有直接发生。
我已经在函数中放置了一个alert语句来测试ajaxStart是否被触发,它似乎是..所以我猜测我缺乏对DOM的理解和/或jQuery是错!即为什么没有立即显示任何DOM更新/注入?
任何指针/想法大加赞赏!
尝试编码您ajaxStart方法是这样的:
$('#' + btnID).ajaxStart(function() {
$(this).append('<div>loading</div>');
});
而且,看看会发生什么,当你简化你的jQuery Ajax调用此:
$.get('AJAXget/getPostcodeCheck.ashx', { postcode: postcode }, function(data) {
//$('#yourResultElement').html(data);
console.info(data);
});
如果你使用萤火虫(你”重新使用Firebug吧?),点击控制台标签,看看返回的是什么。
谢谢,我最终削减到真正的基础知识,只需点击一个简单的div更新..谢谢!页面:使用chrome与他们的开发工具..当然类似于萤火虫! – 2010-11-15 02:03:03
我想用户点击一个按钮后,该代码被调用。在这种情况下,你为什么不做到以下几点:
- 前阿贾克斯,叫你做:$( '#' + btnID).append( '装');
- 成功或错误的,你这样做:$( '#' + btnID)一个.remove();
我相信这种做法会奏效。
感谢您的评论。我现在已经添加了一个由onclick事件触发的非常简单的弹出通知。 – 2010-11-15 02:01:11
你试过'$(本).append( '
其实愚蠢不!我想我原本是这样的......但是随着切换和改变..会尝试感谢! – 2010-11-10 19:43:41
其实也试过$(this)..同样的问题只是作为一个额外的..它会添加到DOM /刷新一次AJAXSTOP完成.. I.E.任何杰出的功能都完成了吗? – 2010-11-10 19:47:19