document.getElementById 导致 jquery 文档准备执行两次
document.getElementById causes jquery document ready to be executed twice
这段代码应该运行过来加载.php并获取一些xml格式的数据,解析它,然后将其加载到div中并显示它。它工作得很好,除了来自加载的数据.php显示两次。有没有另一种方法可以做到这一点,不会导致数据显示两次?我已经看到许多与导致此问题的文档就绪功能相关的帖子,但似乎无法弄清楚如何将任何解决方案应用于这种情况。我把它放在我页面上的头标签中。我真的很想保持这种格式,因为最终我会将一些数据发布到加载.php页面。
脚本
$(document).ready(function () {
$.ajax({
type: 'POST',
url: 'load.php',
success: loadReturn
});
function loadReturn(data) {
var xml = $.parseXML(data);
$xml = $(xml);
$errorcode = $xml.find('errorcode');
$data = $xml.find('data');
document.getElementById("defaultcode").innerHTML = $data.text();
$("#defaultcode").fadeIn(300);
}
});
</script>
.HTML
<div id="defaultcode" style><h3>a title</h3><p>blah blah</p><h3>a title</h3><p>blah blah</p></div>
提前感谢您的时间。
首先,
我尝试将您的代码固定为正确的方式。 但我不认为代码是错误的。 应该是您从load.php
发送了两个data
标签。 请检查您退回的data
。
$(document).ready(function () {
$.ajax({
type: 'POST',
url: 'load.php',
success: loadReturn
});
function loadReturn(data) {
// check your data
console.log(data);
// jQuery will parse for you automatically
var $xml = $(data);
var $errorcode = $xml.find('errorcode');
var $data = $xml.find('data');
// set html before fadeIn
$("#defaultcode").html($data.text()).fadeIn(300);
}
});
相关文章:
- 防止双击执行两次jQuery post请求
- 单击元素两次后执行操作
- 为什么这个函数执行了两次
- 使用node.js模块,在什么情况下模块会被执行两次
- 必须点击两次按钮才能执行功能
- 是否可以执行两次匿名函数
- onKeyUp 导致代码执行两次
- 选中复选框后函数执行两次
- ng 类指令调用执行两次
- 提交按钮有时会以 html 形式执行两次操作
- 必须单击按钮两次才能执行功能 - jQuery
- AngularJs 基本应用程序执行两次
- jQuery AJAX POST 执行两次
- 防止脚本在执行时运行两次
- jquery ready 函数在我单击锚标记时执行两次
- document.getElementById 导致 jquery 文档准备执行两次
- CasperJS thenOpen() 执行两次
- 脚本执行两次,但时间戳相同
- 在 IE 上,表达式执行两次
- 在angularjs中两次执行控制器的routeparams中的特殊字符