一个js中关于alert的困惑
<script type="text/javascript" src="jquery.js" /></script>
<script>
$(document).ready(function(){
$('.flow').each(function(){
var id=$('span').length;
alert(id); //这里如果不alert一下,传过去的id一直是0,但alert一下后就不会这样,为什么啊
$.ajax({
type:'get',
url:'style.php',
data:'id='+id,
success:function(msg){
$('div.flow').append('<span>aaa</span>');
}
});
});
});
</script>
<div class="flow" ></div>
<div class="flow" ></div>
<div class="flow" ></div> JavaScript alert
[解决办法]
不知道楼主的问题和我当年的是否一样
当时我也是如果不用alert弹出,js就收不到数据
不过我的是因为Html里嵌入别的页面了,
如果使用$(document).ready(function(){});是只将本页的DOM加载完就执行
执行时找不到我加载页面的东西
解决方式是用window.onload,这样加载完所有,包括嵌入页面之后,才执行
不知道能否帮上忙,仅供参考
[解决办法]
ajax本身就叫异步javascript和xml(Asynchronous JavaScript and XML)
如何理解异步,简单的说就是发送后就不管了,有数据返回后再去调用回调函数。
当然你可以试试改成同步的,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。这样事实上操作不太友好。