Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2014, 15:06
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

ajax не работает, но не выдаёт ошибок.
Добрый день, не работает ajax функция не пойму почему.
function addlink(form, type){
			/*ajax*/
			alert(type);
			$.ajax({
	  url: '/adm/js/menue.php',
	  /* метод отправки данных */
            method: 'POST',
            /* данные, которые мы передаем в файл-обработчик */
            data: {"type" : type},
 			dataType: 'json',
	  success: function(jsondata){
		  alert(3);
		  if(jsondata !== null){
			  alert(2);
		  	if (jsondata.length > 0) {
				alert(1);
				$.each(jsondata, function(jsondata){
	 				  $('#maters').append(
						  'Имя:'+jsondata.name + '"  <button class="ok" value="'+json.id+'">OK</button>'
					  );
			
				  });
			  }
 			 }
	  }
	});
	$( "#dialog-form" ).dialog( "open" );
			return	but=form;
}

вот функция.
вот так её вызываю
<button id="cheks" onClick="addlink(this,'id')">Выбрать статью</button>

вот наш код обработчика
<?php
require_once "../../config/bdjs.php" ;
 echo $type = $_POST['type'];
class MenuJs extends Db {
		function  menujson($type) {
			 $sql = 'SELECT id, title FROM pages ORDER BY id' ;
			$res = $this->sql($sql) ;
			while ($row = mysql_fetch_assoc($res))
		{
  		  $pages[] = $row;
		}
			return $pages ;
		}
}
$js = new  MenuJs();
$id = $js->menujson($type);
$id['name']=$id['title'];
 json_encode($id);

?>

ошибок через хром не показыает. не запускается функция success
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2014, 16:50
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Данные на сервер доходят? Поставьте еще обработчик на error и complete до кучи и посмотрите что там пишется.
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2014, 20:54
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

в ajax добавить error: .... и complete .... ???
Данные на сервер доходят, если допусти echo 1; напишу там, то в хроме всё это дело видно.
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2014, 03:27
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от xTODx Посмотреть сообщение
в ajax добавить error: .... и complete .... ???
Ну раз у вас success не выполняется значит что-то с запросом не так. Если запрос не удается то в обработчике error будет информация об ошибке. Ну и complete чтобы убедиться что запрос вообще выполняется.

Сообщение от xTODx Посмотреть сообщение
Данные на сервер доходят, если допусти echo 1; напишу там, то в хроме всё это дело видно.
Так данные всё-таки с сервера приходят? Где вы это смотрите?

Последний раз редактировалось jsnb, 22.04.2014 в 03:33.
Ответить с цитированием
  #5 (permalink)  
Старый 22.04.2014, 08:56
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

Смотрю в хроме во вкладке network, при нажатии появляется menue.php
нажимаю на него, выводит то что вывело бы в этом файле.
в ajax добавил
error: function(){
        alert('error')
    }

ошибку выводит. но в чём причина не знаю
Ответить с цитированием
  #6 (permalink)  
Старый 22.04.2014, 09:38
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Вот так напишите:
error: function(xhr, status, error) {
    alert(xhr.responseText + '|\n' + status + '|\n' +error);
}

И скажите что выдаст этот алерт.

Последний раз редактировалось jsnb, 22.04.2014 в 09:41.
Ответить с цитированием
  #7 (permalink)  
Старый 22.04.2014, 09:48
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167


вот, синтаксическая ошибка
Ответить с цитированием
  #8 (permalink)  
Старый 22.04.2014, 09:55
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от xTODx Посмотреть сообщение

вот, синтаксическая ошибка
Ну так если вы указываете в запросе dataType 'json' то и с сервера надо данные отдавать в формате JSON. Я вот смотрю на ваш PHP скрипт и вообще не понимаю что вы пытаетесь вывести.
echo $type = $_POST['type'];

Это зачем?

json_encode($id);

Ну закодировали вы $id в json, а посылать это кто будет?

Последний раз редактировалось jsnb, 22.04.2014 в 10:00.
Ответить с цитированием
  #9 (permalink)  
Старый 22.04.2014, 14:54
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

echo $type = $_POST['type']; -> echo для проверки ставил
Ответить с цитированием
  #10 (permalink)  
Старый 22.04.2014, 14:56
Профессор
Отправить личное сообщение для xTODx Посмотреть профиль Найти все сообщения от xTODx
 
Регистрация: 04.02.2014
Сообщений: 167

я понял что провтыкал момент с echo json_encode($id);
я исправил, ошибку не выводит. но не работает $('#maters').append
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает обработчик в файле, подгруженном AJAX SweetySugar AJAX и COMET 1 20.08.2011 17:17
не работает запрос Ajax в IE kiff86 AJAX и COMET 1 03.08.2011 21:52
Не работает Ajax при проверке формы! Имя jQuery 1 01.07.2011 10:45
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 19:03