作者mesak (米沙)
看板Ajax
标题Re: [问题] ajax取得资料後填入对应的位置??
时间Thu Oct 14 18:21:41 2010
$.each(url,function(i,n){
$.post(n,function(data){
$("body").append('<a href="'+n+'">'+title+'</a><br />');
});
})
一边读取一边产生行吗?
如果你要全部读取完毕要产生
宣告物件把POST回来的TITLE 塞在 物件里面
var url = new Object();
$.each(url,function(i,n){
url[i] = {"url":n};
$.post(n,function(data){
url[i]['title'] = title;
});
})
全部 刷完毕之後 在 EACH URL 这个 物件
※ 引述《no1kk (心中在下雨)》之铭言:
: 我正在做一个功能
: 首先会拿到一堆网址的阵列
: 然後我将这些网址加上连结放在页面中
: 接着我要分别依照网址去撷取此网页的title并将之加到对应连结的title上
: (网址都是内部网域的)
: 这些步骤我卡在取得title之後放到对应的连结这个步骤
: (我不能去修改那些网页的内容)
: 我无法得知每个title应该要对应到哪个连结
: 传回来的资料也没有网址
: 简易范例:
: var url=['test/index1.php','test/index2.php'.....]
: var n=url.length;
: for(var i=0;i<n;i++){
: var u=url[i];
: $("body").append('<a href="'+u+'">'+u+'</a><br />');
: $.post(u,function(data){
: var title.........(撷取title)
: 这里将title塞入连结中,但是我没有网址可以对应....
: });
: }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.85.101
1F:推 no1kk:恩,基本上的确就是一个读完再读一个就可以解决问题.... 10/14 19:03
2F:推 no1kk:each使用时,他会等fn结束之後才进行下一个物件,对吗? 10/14 19:12
3F:→ TonyQ:是,不过 ajax 是非同步的,他不会等到ajax跑完。 10/14 19:23
4F:→ no1kk:这里我的疑问是,ajax不是同步的那理论上ajax回传的时候 10/15 10:41
5F:→ no1kk:n已经不是原本的n了,不是吗? (但是实际上这个是可以work的) 10/15 10:41
6F:→ no1kk:是因为每个post都包在不同的fn里面,每个fn有自己的n,这样? 10/15 10:42
7F:→ TonyQ:each时的 n 是独立的 scope , 这跟跑回圈不一样. 10/15 11:14