Значит так.
1.Ставите FireFox 2. Ставите Addons / Firebug 3. После нажатия на submit в вкладе "Сеть" - POST ответ = смотрите что пришло в ответ. У вас нечего не меняется, потому что скорее всего нечего не приходит. Да и как первый раз могло пройти если у вас в php нету вывода в браузер ? Обрабатывается запрос, а результат как выводится? Покажите весь код php |
Цитата:
URL: [url]http://localhost/index_ajax2.php[/url] Метод: POST Состояние: 200 OK Продолжительность: 51 ms Данные запроса POST /lab4/lab4/index_ajax2.php HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.8.131 Version/11.10 Host: localhost Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Encoding: gzip, deflate Referer: [url]http://localhost/index_ajax2.php[/url] Cookie: PHPSESSID=57d127f36562312fb121c54b8642c784 Connection: Keep-Alive Content-Length: 8 Content-Type: application/x-www-form-urlencoded Accept: */* X-Requested-With: XMLHttpRequest Content-Transfer-Encoding: binary Данные ответа HTTP/1.1 200 OK Date: Thu, 05 May 2011 14:06:10 GMT Server: Apache/2.2.17 (Win32) PHP/5.2.17 X-Powered-By: PHP/5.2.17 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 3506 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html; charset=windows-1251 и как я вам сказал один раз поиск происходит корректно, выводится все как надо. на каждыц клик кнопки приходит 3 ответа '200 OK': от моей странички index_ajax.php, jquery.min.js, jquery.from.js внутри содержание ответа совпадает с 'рабочими', ну кроме времени :) вот весь код: <? if(isset($_REQUEST["search"])) { $q_str = "SELECT * FROM hotels WHERE "; if($_REQUEST[f_name] != "") $q_str = $q_str."name LIKE '%".$_REQUEST["f_name"]."%' AND "; else $q_str = $q_str." 1 AND "; if($_REQUEST[a_price] != "") $q_str = $q_str."price >= ".$_REQUEST["a_price"]." AND "; else $q_str = $q_str." 1 AND "; if($_REQUEST[b_price] != "") $q_str = $q_str."price <= ".$_REQUEST["b_price"]." AND "; else $q_str = $q_str." 1 AND "; $q_str = $q_str." 1"; $result = mysql_query($q_str); } else if(isset($_REQUEST["add"])) { $result = mysql_query("SELECT name, id, free FROM hotels"); for($i = 0; $i < mysql_numrows($result); $i++) { $temp_row = mysql_fetch_array($result); if (!isset($_SESSION[$temp_row[name]])) $_SESSION[$temp_row[name]]=0; $tb_name = 'g'.$temp_row[id]; // количество элеметов в корзине $rg_name = $temp_row[name]; if($temp_row[free] < $_REQUEST[$tb_name]) echo '<I>Не достаточно '.$rg_name.', поэтому данный товар не был добавлен в корзину!</I>'; else if(isset($_REQUEST[$tb_name])) $_SESSION[$rg_name] = $_SESSION[$rg_name] + $_REQUEST[$tb_name]; } $result = mysql_query("SELECT * FROM hotels"); } else { $result = mysql_query("SELECT * FROM hotels"); } echo '<FORM id="myform2" ACTION="index_ajax.php?add=1" METHOD=POST> <TABLE id="mytable" BORDER = 2 CELLPADDING=5> <TR bgcolor="#F4A460"> <TD><B>№ товара</B></TD> <TD><B>Изображение</B></TD> <TD><B>Название отеля</B></TD> <TD><B>Класс номера</B></TD> <TD><B>Количество мест в номере</B></TD> <TD><B>Цена (р.)</B></TD> <TD><B>Свободно номеров</B></TD> <TD><B>Желаемое количество</B></TD> </TR>'; $color = "white"; for($i = 0; $i < mysql_numrows($result); $i++) { if($i%2==0) $color = "#FFDFBF"; else $color = "#FFCC99"; $temp_row = mysql_fetch_array($result); echo '<TR bgcolor='.$color.'>'; echo '<TD>'."$temp_row[id]".'</TD>'; echo '<TD><img src='."$temp_row[img]".' alt="X" width=150>'; echo '<TD>'."$temp_row[name]".'</TD>'; echo '<TD>'."$temp_row[quallity]".'</TD>'; echo '<TD>'."$temp_row[place_numb]".'</TD>'; echo '<TD>'."$temp_row[price]".'</TD>'; echo '<TD>'."$temp_row[free]".'</TD>'; echo '<TD><INPUT TYPE=TEXT NAME=g'.$temp_row[id].' VALUE=0></TD>'; echo '</TR>'; } ?> |
нашеееел проблему!
косяк был просто ужасный у меня и не в аяксе или пхп. форма после 1 запроса 'скрывалась' за таблицу и поэтому повторное ее по id нельзя было использовать, т.е аякс слал запросы без данных формы(поэтому и были видны запросы) исправил разметку, все прекрасно заработало |
Часовой пояс GMT +3, время: 00:43. |