нужно для того чтоб не получать 2 раза 1 и тотже документ с интернета
Спустя 21 минута, 4 секунды (6.09.2009 - 11:27) terret написал(а):
z3rg
Если я вас правильно понял, то нет.
PHP - это скриптовый язык, он исполнился один раз, и все. Никакой ajax тут не поможет.
Другое дело, что вы можете например с помощью php вывести xml, потом его распарсить на странице... ну, сами понимаете, легче лишний запрос сделать))
Если я вас правильно понял, то нет.
PHP - это скриптовый язык, он исполнился один раз, и все. Никакой ajax тут не поможет.
Другое дело, что вы можете например с помощью php вывести xml, потом его распарсить на странице... ну, сами понимаете, легче лишний запрос сделать))
Спустя 6 минут, 6 секунд (6.09.2009 - 11:33) Sylex написал(а):
z3rg
конечно, можно
конечно, можно
Спустя 1 час, 19 минут, 44 секунды (6.09.2009 - 12:53) z3rg написал(а):
terret, пхп выведет к примеру "sdgsgsdgsdg:::::4343434" и нужно цифры разместить в 1 блок, буквы в другой.
тоесть разбить, типа как на пхп эксплоде
Sylex, спасибо.
тогда вопрос как на джава разбить текст?
спасибо нашол функция split(":::::");
зы: если совсем не оборзел, почему при множественном нажатии на разные ячейки выполняется/только последний клик ?
(php скрипт выполняется 2-3 сек)
или нужно на аджакс фором обробатывать множественные, и тогда оно будет ожидать пока выполнится 1?
тоесть разбить, типа как на пхп эксплоде
Sylex, спасибо.
тогда вопрос как на джава разбить текст?
спасибо нашол функция split(":::::");
зы: если совсем не оборзел, почему при множественном нажатии на разные ячейки выполняется/только последний клик ?
(php скрипт выполняется 2-3 сек)
или нужно на аджакс фором обробатывать множественные, и тогда оно будет ожидать пока выполнится 1?
Спустя 2 часа, 25 минут, 9 секунд (6.09.2009 - 15:18) Гость_hara написал(а):
скорее всего выполняется всё, но вы видите результат только последнего запроса.
а вообще что бы не было таких ситуаций, нужно блокировать другие запросы пока не выполниться первый.
а вообще что бы не было таких ситуаций, нужно блокировать другие запросы пока не выполниться первый.
Спустя 1 час, 7 минут, 2 секунды (6.09.2009 - 16:25) z3rg написал(а):
Гость_hara, а мне собственно нужно выполнить массу запросов сразу, тоесть чтоб запустил скрипт, он вывел массив и затем начали выполнятся на автомате аджакс запросы.
HTML |
var global_id = ""; function showHint(str,str1) { xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Your browser does not support XMLHTTP!"); return; } var url="includes/pear/example.php"; url=url+"?q="+str; xmlhttp.onreadystatechange=stateChanged; global_id="txtHint" + str1; xmlhttp.open("GET",url,true); xmlhttp.send(null); } function stateChanged() { if (xmlhttp.readyState==4) { var mass=xmlhttp.responseText.split(":::::"); document.getElementById(global_id).innerHTML=mass[0]; if(mass[1]>1000 || mass[1]==0){ mass[1]=\'<font color="#FF0000">\'+mass[1]+\'</font>\'; } document.getElementById("ping"+global_id).innerHTML=mass[1]; }else { document.getElementById(global_id).innerHTML=\'<img src="img/prel.gif" />\'; document.getElementById("ping"+global_id).innerHTML=\'<img src="img/prel.gif" />\'; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); } if (window.ActiveXObject) { // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } |
идет запуск события showHint("blabla", 1); showHint("trulala", 2); ...
и вот как можно сделать чтоб либо задержка ожидания была либо в потоке проверяло, чета немогу догнать, пробовал переменные массивом делать но что-то вобще перестало выполнятся. через фор запуск функций тож делал, думал ожидать будет а оно не хочет.
Спустя 1 час, 9 минут, 16 секунд (6.09.2009 - 17:34) hara_ написал(а):
ну как вариант:
1. делаешь trigger // ну.. как то выразился коряво,
короче в начале функции showHint записываешь в какую нибудь глобальную переменную
значение например 1 ну значит процесс идёт
и в конце как прийдёт ответ от сервера записываешь 0 - значит процесс закончился
(или по таймауту, - если раньше произойдёт)
2. бесконечный цикл while в котором идёт проверка если сейчас не выполняется никакой
запрос(переменная содержит 0 или не суть что там) то запускаем следующий запрос по списку
вариант 2:
делаем массив с запросами глобальным
функция showHint в результате выполнения(вернулся ответ или таймаут)
запускает сама себя рекурсивно, но с другими параметрами, ну то есть по списку дальше
я голосую за второй вариант)
UPD
да и массив глобальным делать ненужно, просто передавай этот самый массив в свою функцию
showHint - она просто выполняет из него первый элемент,
уменьшает массив
затем запускает себя же с этим же но отредактированным массивом
1. делаешь trigger // ну.. как то выразился коряво,
короче в начале функции showHint записываешь в какую нибудь глобальную переменную
значение например 1 ну значит процесс идёт
и в конце как прийдёт ответ от сервера записываешь 0 - значит процесс закончился
(или по таймауту, - если раньше произойдёт)
2. бесконечный цикл while в котором идёт проверка если сейчас не выполняется никакой
запрос(переменная содержит 0 или не суть что там) то запускаем следующий запрос по списку
вариант 2:
делаем массив с запросами глобальным
функция showHint в результате выполнения(вернулся ответ или таймаут)
запускает сама себя рекурсивно, но с другими параметрами, ну то есть по списку дальше
я голосую за второй вариант)
UPD
да и массив глобальным делать ненужно, просто передавай этот самый массив в свою функцию
showHint - она просто выполняет из него первый элемент,
уменьшает массив
затем запускает себя же с этим же но отредактированным массивом
Спустя 21 час, 34 минуты, 49 секунд (7.09.2009 - 15:09) z3rg написал(а):
hara, мммм, спасибо большое
, смысл понял, будем пробовать.
hara еще раз спасибо, получилось, делал последним способом.

hara еще раз спасибо, получилось, делал последним способом.
HTML |
var xmlhttp var global_id = ""; var schet = ""; var fsfsf = ""; function showHint(str1,fsss) { fsfsf = fsss; schet = str1; str = document.getElementById("siteurl" + str1).value; xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Your browser does not support XMLHTTP!"); return; } var url="includes/pear/example.php"; url=url+"?q="+str; xmlhttp.onreadystatechange=stateChanged; global_id="txtHint" + str1; xmlhttp.open("GET",url,true); xmlhttp.send(null); } function stateChanged() { if (xmlhttp.readyState==4) { var mass=xmlhttp.responseText.split(":::::"); document.getElementById(global_id).innerHTML=mass[0]; if(mass[1]>1000 || mass[1]==0){ mass[1]=\'<font color="#FF0000">\'+mass[1]+\'</font>\'; } document.getElementById("ping"+global_id).innerHTML=mass[1]; if(schet>1 && fsfsf == 0){ schet=schet-1; showHint(schet, 0); } }else { document.getElementById(global_id).innerHTML=\'<img src="img/prel.gif" />\'; document.getElementById("ping"+global_id).innerHTML=\'<img src="img/prel.gif" />\'; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); } if (window.ActiveXObject) { // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } |
showHint(schet, 1) //одиночная проверка
showHint(schet, 0) //проверяет весь масс самого конца