[問題] Xmlhttp 多次傳遞的問題

看板Ajax作者 (看文不要只會用橫的看)時間15年前 (2010/11/15 14:01), 編輯推噓0(0016)
留言16則, 2人參與, 最新討論串1/1
不才寫了個小表單,讓使用者填入2筆資料後,在按下GET時背景作業儲存。 HTML表單節錄: <input type = "name" id = "name"> <input type = "name2" id = "name2"> <input type = "button" value = "save" onclick = "getit();"> javascript 代碼節錄: function getit(){ var id = document.getElementById("name").value; var url = "s.php?id=" + escape(id); request.open("GET", url, true); request.send(null); request.onreadystatechange = savedata; getit2(); } function getit2(){ var id = document.getElementById("name").value; var url = "s.php?id=" + escape(id); request.open("GET", url, true); request.send(null); request.onreadystatechange = savedata; } 節錄s.php $sql = "SELECT Name FROM Phonebook WHERE ID = '$_GET[id]'"; $rel = Mysql_query($sql); $data = Mysql_fetch_object; echo $data->Name; 黃色那段MARK掉就正常,不過第二筆就沒處理了。 不MARK掉,Response資料會變很怪。 要怎麼才能讓xmlhttp抓二次資料啊? (request變數前我HEADER那就宣告好了,所以這裡沒有) 我想過用迴圈,但是跟上面結果是一樣的。 直接用二組open也不行,有一組會沒有回應。 xmlhttp好像也沒有 .close的法子... -- 小惡魔的家 http://blog.pixnet.net/shiuju/ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.142.152

11/15 14:17, , 1F
你request混用所以亂掉了,應該要分開宣告分開拿。
11/15 14:17, 1F

11/15 14:18, , 2F
想像你兩個request共用最後一個onreadystatus的樣子就知道了
11/15 14:18, 2F

11/15 14:18, , 3F
request在這種情境下不要混用。
11/15 14:18, 3F

11/15 14:34, , 4F
感謝,如果把xmlhttp包成物件再CALL不知道可不可行
11/15 14:34, 4F

11/15 14:35, , 5F
最原始的作法會寫一個 getXMLHttprequest 回傳一個request物
11/15 14:35, 5F

11/15 14:35, , 6F
我程式裡已經有N個xmlhttp了 Orz...多到自己也很混亂
11/15 14:35, 6F

11/15 14:35, , 7F
再用 var req= getXMLHttprequest(); 去拿。
11/15 14:35, 7F

11/15 14:36, , 8F
參考一下我早期的寫法 #15aVHpQB (Ajax)
11/15 14:36, 8F

11/15 14:37, , 9F
盡量不要讓xmlhttp 擴散出去 最少一個request作一個request
11/15 14:37, 9F

11/15 14:37, , 10F
就死掉。不然延伸的race condition 會整死自己的。
11/15 14:37, 10F

11/15 14:43, , 11F
感謝T大,我目前在半死狀態。Code可以打包回去嗎?科科
11/15 14:43, 11F

11/15 15:34, , 12F
自便 XD
11/15 15:34, 12F

11/15 15:34, , 13F
只是我覺得我那時候沒有寫得很好就是 囧rz
11/15 15:34, 13F

11/15 15:34, , 14F
另外就是要測一下chrome 因為再我寫那段script時還沒有它
11/15 15:34, 14F

11/15 15:42, , 15F
Chrome還好,我在Mac上開發,Chrome會出的包Safari都跑不
11/15 15:42, 15F

11/15 15:43, , 16F
11/15 15:43, 16F
文章代碼(AID): #1CuCoxLX (Ajax)
文章代碼(AID): #1CuCoxLX (Ajax)