jQuery AJAX IE - skipped functions ajax
jQuery AJAX IE - skipped functions ajax
$("#multiselect").hide();
$("#multiselect_container").append('<img id="loader" src="/loader.gif" />');
由于某种原因,在IE中跳过了$("#list").click()
块内的上述2个功能,而不是FF,Chrome
$("#list").click(function()
{
var selection = $(this).val();
$("#multiselect").hide();
$("#multiselect_container").append('<img id="loader" src="/loader.gif" />');
$.ajax(
{
url: 'include/ajax.php?id='+selection,
async: false,
dataType: 'json',
success: function (json)
{
$("#loader").remove();
$("#multiselect").show();
//parse json
}
});//json
});
这是怎么回事:
有一个按钮#list
和一个容器#multiselect_container
,其中包含#multiselect
容器大小的选择框。
单击#list
时,选择框将隐藏,并显示其下方的容器,并带有加载栏。
当 ajax 调用完成后,加载栏将被删除,选择框将再次显示。
在火狐中,这工作得很好。在IE中它没有。
我尝试过的事情:
成功部分中的
$('#list').ajaxComplete(function() {});
使 php 文件休眠 3 秒钟。相同的结果,除了延迟。
删除 ajax 块,可以正确进行这 2 次调用。
缓存不是问题,正在进行 AJAX 调用
您应该将async: false
更改为async: true
。使用async: false
,在 ajax 调用完成之前不更新显示是正常行为。因此,这种更改可能足以修复它。否则请继续阅读...
我以前在IE上遇到过类似的问题,它只是不想在执行Ajax时更新显示以显示"加载"类型的消息 - 即使Ajax是异步的。这并不是说函数本身被跳过了,只是在 Ajax 完整回调执行之后,显示才会更新 - 并且由于完整的处理删除了"加载"消息,就好像它从未存在过从用户的角度来看。与您的代码一样,我的项目在 Firefox 中运行良好。那是不久前的事了,但是如果我没记错的话,我通过在Ajax调用中引入短暂的超时来使其在IE中工作,如下所示:
$("#list").click(function()
{
var selection = $(this).val();
$("#multiselect").hide();
$("#multiselect_container").append('<img id="loader" src="/loader.gif" />');
setTimeout(function() {
$.ajax(
{
url: 'include/ajax.php?id='+selection,
async: true, // changed from false
dataType: 'json',
success: function (json)
{
$("#loader").remove();
$("#multiselect").show();
//parse json
}
});//json
}, 5);
});
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在php文件中获取$.post-ajax传递的值
- Replacing $ .ajax?
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax发布表单序列化,发布引号'
- 通过Ajax将JavaScript函数传递给PHP文件
- ajax请求的顺序总是不同的
- 可以't使用Polymer's的核心ajax
- Ajax Live搜索发布到Laravel视图
- Ajax聊天消息重复而不仅仅是更新
- 从控制器返回后Ajax启动事件激发
- PHP AJAX图片上传示例不上传
- 从ajax请求中获取javascript对象
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 如何在Javascript中解析AJAX数组的特定部分
- Ajax文件加载和<输入>文件加载
- Javascript/jQuery中的并行Ajax调用
- jquery ajax success functions not executing
- jQuery AJAX IE - skipped functions ajax