Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Задвоение при передаче AJAX'ом / 16 сообщений из 16, страница 1 из 1
10.03.2009, 10:35
    #35859066
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
Добрый день. Проблема, при передаче данных AJAX'ом и последующем сохранении их в базу некоторые записи задваиваются((( ктото встречался с такой фичей??
помогите разобраться в чем дело...(стандартная передача с помощью XMLHttpRequest..., код наверное не стоит приводить)
...
Рейтинг: 0 / 0
10.03.2009, 10:39
    #35859075
minya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
Очень даже стоит
...
Рейтинг: 0 / 0
10.03.2009, 11:02
    #35859155
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
jaz_132Добрый день. Проблема, при передаче данных AJAX'ом и последующем сохранении их в базу некоторые записи задваиваются((( ктото встречался с такой фичей??
помогите разобраться в чем дело...(стандартная передача с помощью XMLHttpRequest..., код наверное не стоит приводить)

Код в студию....
...
Рейтинг: 0 / 0
10.03.2009, 11:12
    #35859173
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
кот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
<script type="text/javascript">
function showIndex(ttt)
	{
		var al = document.getElementById(ttt).value;
  loadXMLDoc2('fixactiv_upd.php?idc='+ttt+'&LDAPM='+al);
}

function loadXMLDoc2(url) {
    req = null;
    if (window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
    }

    if (req) {
        req.onreadystatechange = processReqChange2;
        req.open("GET", url, true);
        req.send(null);
        reqTimeout = setTimeout("req.abort();",  5000 );
    } else {
        alert("Браузер не поддерживает AJAX");
    }
}


function processReqChange2() {

    if (req.readyState ==  4 ) {
        clearTimeout(reqTimeout);

        // only if "OK"
        if (req.status ==  200 ) {

             document.getElementById("conthist").innerHTML = req.responseText;

        } else {
            alert("Не удалось получить данные:\n" + req.statusText);
        }
    }
}
</script>

<body>

<?
<table>
<tr>
<td><div id='".$res['id'].$res['idcontract']."'>
        <input type='text'
               value='".$res['LDAP']." ".$res['kolvowork']."'
                name='".$res['id']."' id='".$res['id']."'
                onchange=\"showIndex('".$res['id']."')\"
                onMouseOver=\"selectmen('Filial=".$Filial."',
                                    'idc=".$res['id']."',
                                    '".$res['id'].$res['idcontract']."',
                                    'LDAP=".$res['LDAP']."'); return false \">
        </input></div></td>
</tr>
</table>
?>

<DIV id='conthist'> </div>

</body>

...
Рейтинг: 0 / 0
10.03.2009, 11:14
    #35859180
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
соответственно сохранение производится по событию
Код: plaintext
1.
onchange=\"showIndex('".$res['id']."')\"
...
Рейтинг: 0 / 0
10.03.2009, 15:27
    #35859979
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
кот в студии, никто не знает в чем может быть дело?
...
Рейтинг: 0 / 0
10.03.2009, 15:57
    #35860067
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
Запрос то один раз уходит или два? Смотреть Live HTTP Headers или файбагом.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
10.03.2009, 16:04
    #35860093
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
vkle
Запрос то один раз уходит или два? Смотреть Live HTTP Headers или файбагом.


спасибо за подсказку!!

так подозреваю что иногда два раза все же... что делать в этом случае и из-за чего такое может происходить(исключая вариант двойного нажатия кнопки)
...
Рейтинг: 0 / 0
10.03.2009, 16:08
    #35860105
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
вправлять себе мозги... кто ж вставляет новые записи по onchange поля ввода? дай юзеру кнопку, пускай на неё кликает самостоятельно.
...
Рейтинг: 0 / 0
10.03.2009, 16:32
    #35860185
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
onchange висит на селекте и после выбора отправляется запрос на добавление записи, по моему разумное решение, или я не прав? или рядом с каждым селектом(их плодится по списку много) плодить еще и кнопку?
...
Рейтинг: 0 / 0
10.03.2009, 16:52
    #35860230
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
какой селект? у тебя в примере ясно прописан <input type='text'
...
Рейтинг: 0 / 0
10.03.2009, 16:57
    #35860255
jaz_132
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
на инпуте событие висит onMouseOver - на место инпута ставится селект с нужным списком
...
Рейтинг: 0 / 0
10.03.2009, 17:48
    #35860386
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
пофигу что у тебя там куда ставится, факт в том что нативное событие у инпута, а твой селект может десять раз в него значения перезалить. В общем отследи логику, посмотри сколько раз и когда у тебя уходят запросы на сервер. И передавай параметры на редактирование через POST, пока не стало поздно.
...
Рейтинг: 0 / 0
10.03.2009, 19:54
    #35860642
sxq
sxq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
сделайте элементарную проверку, в функцию showIndex вставте какой-либо вывод (тот же alert), и банально проверьте, сколько раз она вызывается, судя по всему 2 раза, зачем сейчас гадать на кофейной гуще? тем более вы не привели полный код страницы, возможно проблема вовсе не в этом участке кода.
...
Рейтинг: 0 / 0
13.03.2009, 05:28
    #35866253
Arvitaly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
jaz_132соответственно сохранение производится по событию
Код: plaintext
1.
onchange=\"showIndex('".$res['id']."')\"


Поставь проверку изменилось ли значение элемента Select, событие onChange ведет себя по разному.
...
Рейтинг: 0 / 0
13.03.2009, 13:15
    #35867319
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задвоение при передаче AJAX'ом
Arvitalyсобытие onChange ведет себя по разному.
что значит это Ваше "ведет себя по разному"? Как по-разному и где по-разному оно себя ведет?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Задвоение при передаче AJAX'ом / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]