作者qsss (Qooo)
看板Ajax
标题[问题] each + post
时间Wed Aug 3 11:17:21 2011
各位好, 我现在碰到一个问题,
我需要将 table 中的每一笔资料都写进 mysql 中, 我是使用 $('#table tbody tr')
.each(function(i){}) 读取每一笔资料行, 在里面配合 $.post 的方式来写入资料
可是呢, 有时候就会出现少几笔资料的情况, 检查 table 也确实有 id 跳号的情况, 想
说用 alert 来检查看看是不是资料有抓错, 但是有使用的 alert 的情况下, 却又没有
产生一样的问题
不知道有没有什麽方式可以提供, 来找出问题点
先谢谢各位
----------------------------------------------------------------------------
抱歉, 补上程式码
$('#table tbody tr').each(function(i){
c = $(this).find('td').eq(0).find('input').val();
$.post(
'insert.php',
{
'ColA' : a,
'ColB' : b,
'ColC' : c
}
);
});
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.184.238
1F:→ pico2k:请附上程式码,我们没有天眼通... 08/03 11:33
※ 编辑: qsss 来自: 60.248.184.238 (08/03 11:41)
2F:→ dinos:$('#table tbody tr td:nth-child(1) input').each(.... 08/03 12:50
3F:→ qsss:谢谢, 但是目前抓值部分是没有问题的, 问题是出在post後 08/03 13:20
4F:→ qsss:AUTO_INCREMENT的id有出现跳号, 是否就表示insert有执行, 08/03 13:21
5F:→ qsss:但是不知道为什麽资料没进去? 08/03 13:21
6F:→ pico2k:检查一下Server端在处理资料的程式码吧 08/03 14:26
7F:→ chrisQQ:先 each 加到一个 json 之後再使用 post 送出会不会好点? 08/03 15:16
8F:→ qsss:阿, 也是可以啦, 只是多做一步而已 :P 08/03 15:49
9F:→ qsss:个人是猜想, 会不会each执行太快, 会造成post跟不上 (乱想的) 08/03 15:49
10F:→ chrisQQ:开 firebug/chrome 开发者工具出来看看,顺便在後端做log 08/03 16:36
11F:推 musie:这写法不好,程式码是一直往下跑的,他不会等.post的时间, 08/03 23:38
12F:→ musie:依照电脑的处理速度,会会变成瞬间丢出一堆.post给主机, 08/03 23:39
13F:→ musie:所以请善用callBack function~!! 08/03 23:39
14F:→ musie:资料会漏 可能是request掉了,建议用firebug看主控台里面 08/03 23:40
15F:→ musie:是不是有request的回传直不是200就知道了。 08/03 23:41
16F:推 senser:你可以资料全部抓在一起传 另一个方法是在callback中 08/04 16:33
17F:→ senser:iterate下一个元素 用递回的方式呼叫这个函式本身 08/04 16:38
18F:→ senser:如此你可以确定request 完成後 在进行下一个loop 08/04 16:39
19F:推 senser:再者就是把.post 设成同步的 总之不要再loop里这样作瞜 08/04 16:42