 
			
				04.05.2011, 17:25
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2011 
					
					
					
						Сообщений: 25
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				ajax post-запрос
			 
			
		
		
		
		подскажите, что не так. 
у меня есть форма
 
<FORM id="myForm" ACTION="index_ajax.php?search=1" METHOD=POST>
 
обработчик PHP:
 
<?
	
        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);
	}
ну и собственно ajax
 
$(document).ready(function() {
		$('#myForm').bind('submit', function(e) {
			e.preventDefault(); // <-- important
			$(this).ajaxSubmit({
			type: 'POST',
			target: 'body',
			cache: false,
			url: 'index_ajax.php',
			data: 'search=1',
			
				
						
				
			});
		});
	});
в этом случае ничего не происходит, если же url оставить как было: index_ajax.php?search=1 
то поиск 1 раз срабатывает, после этого затыкается, т.е не реагирует.  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				04.05.2011, 17:37
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.11.2009 
					
					
					
						Сообщений: 1,101
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		в  data случайно не нужно передавать объект, типа:
 
data: {search: 1}
?  
		
	
		
		
		
		
		
			
				__________________ 
				"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."   
Мой сертификат :-D клацай
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				04.05.2011, 17:46
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2011 
					
					
					
						Сообщений: 25
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 да, спасибо. 
уже сам накопал, что так. 
 
но почему после 1 айякс запроса поиск отказывается работать? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 13:29
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2011 
					
					
					
						Сообщений: 25
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		пробовал сделать с помощью обычного метода ajax, но не знаю как правильно вывести, делал так: 
$('#myForm').live('submit', function() {
                        
                        $.ajax({                        
                        
                        url: 'index_ajax.php',
                        data: { search: '1'},
                        success: function(data){$("body").html(data);}                                          
                        });
                        return false;
                });
        });
в этом случае поиск не срабатывает вообще  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 13:39
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 12.04.2011 
					
					
					
						Сообщений: 23
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Что значит не срабатывает? не возвращается ответ или что? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 15:32
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2011 
					
					
					
						Сообщений: 25
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от ART-DELI
			 
		
	 | 
 
	| 
		Что значит не срабатывает? не возвращается ответ или что?
	 | 
 
	
 
 ответ возвращает: 200 ОК 
а результата на странице нет, как будто ниче не нажимал
 
вот ответ(Opera Dragonfly):  
	
 
	| 
		 Код: 
	 | 
 
	URL:	http://localhost/index_ajax2.php
Метод:	POST
Состояние:	200 OK
Продолжительность:	35 ms
Данные запроса
POST /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: http://localhost/index_ajax2.php
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 11:29:44 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: 3049
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=windows-1251  | 
 
	
 
 
может потому что нужно в data передавать значения полей?
 
UPD: добавил значения полей, поиск стал работать! 
но после 1 поиска, снова затыкается, так что проблема была не в методе ajaxSubmit(); абсолютно такое же поведение 
где-то что-то не указано. подскажите  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Raz0r, 05.05.2011 в 16:26.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 16:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 12.04.2011 
					
					
					
						Сообщений: 23
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Вообще честно говоря не понимаю. Зачем сабметить всю форму если используете Ajax? 
//Глобальные установки
 
$(document).ready(function(){
                    $.ajaxSetup({
                    url: "syte/search.php",
                    type: "POST",
                    dataType: "text"
                    });
                    
                           });
//Клик по кнопке отправить. Обыкновенный div с свойством cursor  ointer;
 
$('#submit').click(function (){
var senddata='keywords='+$('#idinput').val();
$.ajax({data:senddata,
        success: function (data) {alert(data);}
        
         });
});
И нажимайте сколько хотите раз.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 17:07
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2011 
					
					
					
						Сообщений: 25
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от ART-DELI
			 
		
	 | 
 
	
		Вообще честно говоря не понимаю. Зачем сабметить всю форму если используете Ajax? 
//Глобальные установки 
$(document).ready(function(){
                    $.ajaxSetup({
                    url: "syte/search.php",
                    type: "POST",
                    dataType: "text"
                    });
                    
                           });
 
//Клик по кнопке отправить. Обыкновенный div с свойством cursor ointer; 
$('#submit').click(function (){
var senddata='keywords='+$('#idinput').val();
$.ajax({data:senddata,
        success: function (data) {alert(data);}
        
         });
});
 
И нажимайте сколько хотите раз.
	 | 
 
	
 
 полей много, проще serialize() использовать.
 
заменил событие на click.посмотрел в Opera Dragonfly, что по нажатию запрос отсылается и возвращается с кодом 200, но на странице ниче не меняется так же.
 
может дело в том что у меня запрос идет к БД MySQL? 
т.е данные что должны выводиться на станице через поиск не статические, а берутся из БД  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 17:12
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 12.04.2011 
					
					
					
						Сообщений: 23
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Так а вы что то в браузер выводит? что выводите то и получите в success  
print 'Ответ от Ajax запроса';
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				05.05.2011, 17:38
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 10.03.2011 
					
					
					
						Сообщений: 25
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от ART-DELI
			 
		
	 | 
 
	
		Так а вы что то в браузер выводит? что выводите то и получите в success  
print 'Ответ от Ajax запроса';
 
	 | 
 
	
 
 1 (один) раз поиск происходит правильно, все ищет и выводится. 
поле этого, сколько не кликай - запросы идут - результат на странице не меняется  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |