作者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