Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.04.2014, 09:54
Интересующийся
Отправить личное сообщение для johnsnow91 Посмотреть профиль Найти все сообщения от johnsnow91
 
Регистрация: 18.02.2013
Сообщений: 11

Грузится вся страница вместо данных из базы
Здравствуйте. У меня возникла следующая проблема. Добавляю подгрузку данных(в данном случае населенные пункты РФ) из БД в соответствии с тем, что введено в инпуте, через ajax. Для отладки решил выводить данные просто в строки.
ajax запрос:
str - это данные в инпуте.
$.ajax({
			url: "action.php", // Обработчик
			type: "GET",       // Отправляем методом GET
			dataType:"text",
			data: {"num": num, "str":str},
			cache: false,			
			success:
			function(response){
				if(response == 0){ // Смотрим ответ от сервера и выполняем соответствующее действие
					alert("Больше нет записей");
					
				}else{
					$("#contentaaa").append(response);
				}
			}
		});

Action.php
<?php 
include("connect.php");
if(isset($_GET['str'])){
	$num = $_GET['num'];
	$stroka = $_GET['str'];
	$stroka = iconv("UTF-8", "windows-1251", $stroka);
	echo $stroka;
	$result = mysql_query("SELECT * FROM naselpunkt WHERE np LIKE '%".$stroka."%' LIMIT 10",$db); 
	if(mysql_num_rows($result) > 0){	
		$comment = mysql_fetch_array($result);	
		do{
			$num++;
			echo("<p>".$comment['np']."</p>");		
		}while($comment = mysql_fetch_array($result));
		
		sleep(1); //Сделана задержка в 1 секунду чтобы можно проследить выполнение запроса
	}else{
		echo 0; //Если записи закончились
	}
}

?>


На странице вместо просто загрузки данных ив <p></p> выводится страница сайта с надписью "Страница не найдена".
Ответить с цитированием
  #2 (permalink)  
Старый 09.04.2014, 13:32
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

В JS я ошибок не вижу. При условии что num и str имеют правильные значения. Смотрите на стороне сервера правильно ли доходят данные, правильная ли делается выборка из базы. Лежит ли скрипт там же где страница.
Ответить с цитированием
  #3 (permalink)  
Старый 09.04.2014, 13:56
Интересующийся
Отправить личное сообщение для johnsnow91 Посмотреть профиль Найти все сообщения от johnsnow91
 
Регистрация: 18.02.2013
Сообщений: 11

Сообщение от jsnb Посмотреть сообщение
В JS я ошибок не вижу. При условии что num и str имеют правильные значения. Смотрите на стороне сервера правильно ли доходят данные, правильная ли делается выборка из базы. Лежит ли скрипт там же где страница.
num и str имеют правильные значения, проверял, выдавая их алертом, скрипт точно там лежит. Потому и обратился сюда.
Ответить с цитированием
  #4 (permalink)  
Старый 09.04.2014, 18:15
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Так до сервера то данные доходят? Если сделать обычный GET запрос браузером, то данные нормально выводятся?
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2014, 00:30
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

после формирования ответа прекращай работу. Вставь одну из функций
die;
exit("@|@");

Функция die() это псевдоним exit().

Последний раз редактировалось Vlasenko Fedor, 10.04.2014 в 00:32.
Ответить с цитированием
  #6 (permalink)  
Старый 10.04.2014, 08:07
Интересующийся
Отправить личное сообщение для johnsnow91 Посмотреть профиль Найти все сообщения от johnsnow91
 
Регистрация: 18.02.2013
Сообщений: 11

Сообщение от Poznakomlus Посмотреть сообщение
после формирования ответа прекращай работу. Вставь одну из функций
die;
exit("@|@");

Функция die() это псевдоним exit().
Сразу после цикла?
Ответить с цитированием
  #7 (permalink)  
Старый 10.04.2014, 12:50
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Просле последней }
die;
Ответить с цитированием
  #8 (permalink)  
Старый 11.04.2014, 08:07
Интересующийся
Отправить личное сообщение для johnsnow91 Посмотреть профиль Найти все сообщения от johnsnow91
 
Регистрация: 18.02.2013
Сообщений: 11

Сообщение от Poznakomlus Посмотреть сообщение
Просле последней }
die;
Поставил
<?php 
include("connect.php");
if(isset($_GET['str'])){
	$num = $_GET['num'];
	$stroka = $_GET['str'];
	$stroka = iconv("UTF-8", "windows-1251", $stroka);
	$result = mysql_query("SELECT * FROM naselpunkt WHERE np LIKE '%".$stroka."%' LIMIT 10",$db); 
	if(mysql_num_rows($result) > 0){	
		$comment = mysql_fetch_array($result);	
		do{
			$num++;
			echo("<p>".$comment['np']."</p>");		
		}while($comment = mysql_fetch_array($result));
		
		sleep(1); //Сделана задержка в 1 секунду чтобы можно проследить выполнение запроса
	}else{
		echo 0; //Если записи закончились
	}
}
die();
?>

итог: то же самое. Вообще, я проверил сейчас, action.php вообще не выполняется, я удалил его из этой папки и результат тот же, что и с ним. Видимо косяк где-то в функции запроса...Знатоки, кто разбирается, подскажите, если заметите странность какую-нибудь.

Последний раз редактировалось johnsnow91, 11.04.2014 в 08:19.
Ответить с цитированием
  #9 (permalink)  
Старый 11.04.2014, 15:20
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Я уже сказал, что JS часть приведенная вами абсолютно корректна. Ну пропишите полный url до скрипта в запросе. И еще раз спрашиваю, при обычным GET запросе браузером отдаются нормальные результаты или нет?
Ответить с цитированием
  #10 (permalink)  
Старый 15.04.2014, 08:48
Интересующийся
Отправить личное сообщение для johnsnow91 Посмотреть профиль Найти все сообщения от johnsnow91
 
Регистрация: 18.02.2013
Сообщений: 11

Сообщение от jsnb Посмотреть сообщение
Я уже сказал, что JS часть приведенная вами абсолютно корректна. Ну пропишите полный url до скрипта в запросе. И еще раз спрашиваю, при обычным GET запросе браузером отдаются нормальные результаты или нет?
Спасибо, мил человек! Да, другие Get-запросы нормально выполнялись. Действительно с путем проблема была! Абсолютный путь написал и сработало. Для тех, кто будет искать ответ и зайдет на эту страницу: Абсолютный путь написал такой: "/files/action.php", если файл лежит в папке "files"
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ajax. Изменение базы данных запросом со страницы ASol AJAX и COMET 5 10.04.2013 13:03
Загружаем информацию в canvas из базы данных! nataLi-li Элементы интерфейса 27 18.05.2012 23:14
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Индикатор загрузки данных из базы wfire jQuery 13 20.06.2011 13:00
Экспорт базы данных с сайта на мой реальный комп Golovastik Серверные языки и технологии 2 26.02.2011 21:46