Возврат ответа при jQuery

yeaahhh

Старатель
Регистрация
8 Май 2008
Сообщения
278
Реакции
11
Друзья. Такой вопрос..
Делаю добавление записей в таблицу без перезагрузки страницы с помощью Jquery.
Данным запросом посылаю информацию в файл voprosi.php, в котором идет добавление записи в БД.
PHP:
			$.ajax({
				type: "POST",
				url: "voprosi.php",
				data: "antext="+antext+"&action=add",

				success: function(msg){
					show_messages();
alert( "Добавлено!" );
			   },
error: function(msg){
alert( "Не добавлено!" );
			   }
			});
Не могу понять следующее: как можно вывести ответ из файла voprosi.php? Т.е. если в файле voprosi.php происходит нарушение какого-либо условия.. Напр: if (ошибка) echo "Ошибка".. Как можно вывести эту ошибку (Слово: "Ошибка") из voprosi.php, чтобы оно отображалось?
Заранее спасибо!
 
PHP:
success: function(data) {
    $('div.result').html(data);
    alert('Опа, все плохо!');
  }

а в вопросах уже делать echo 'все ок'; или echo 'все не оок';

так не получится?
 
Разобрался.. Статус выводит функция
PHP:
success: function(msg){
                    show_messages();
alert( "" +msg );
               }
А мог бы кто-нибудь написать функцию, с помощью которой ответ выводился не в alert-окне, а в <div id="status"></div> на странице.. Буду очень благодарен..
 
Разобрался.. Статус выводит функция
PHP:
success: function(msg){
                    show_messages();
alert( "" +msg );
               }
А мог бы кто-нибудь написать функцию, с помощью которой ответ выводился не в alert-окне, а в <div id="status"></div> на странице.. Буду очень благодарен..

PHP:
$('#status').text(msg);
 
Можно так:

PHP:
function arr2json($arr){
	foreach($arr as $k => $val)
		$json[] = "\"{$k}\"".':'.php2js($val);
	if(count($json) > 0)
		return '{'.implode(',', $json).'}';
	return '';
}

function php2js(&$val){
	if(is_array($val))
		return arr2json($val);
	if(is_string($val))
		return '"'.addslashes($val).'"';
	if(is_bool($val))
		return 'Boolean('.(int) $val.')';
	if(is_null($val))
		return '""';
	return $val;
}

То, что нужно вывести пихаешь в какую-нибудь переменную, а потом делаешь

PHP:
arr2json()

В js скрипте что-то типа такого
HTML:
	$.post("js.php", {'id':'val'}, function(data){
		if (data == null) {
			// ...
		}
		else {
			alert(data.imya_peremennoy);
		}
	}, "json");
 
potuga
зачем это все писать если есть встроенные ф-ции json_decode() json_encode() ?
 
potuga
зачем это все писать если есть встроенные ф-ции json_decode() json_encode() ?
Да, при работе с аяксом JSON это лучший способ общения с сервером и в некоторых случаях даже хранения в базе(например личных настроек), очень удобный формат данных.
Нужно отметить, что для корректной работы этих функций, все запросы должны быть в utf-8, иначе без проблем не обойтись, также версия php должна быть не ниже 5.2.0, не знаю почему, но все самодельные функции которые я раньше подключал, работали кривовато, после перехода на php>5.2.0 со встроенными проблем нет.
 
Код:
var test = $.ajax({type: "POST",url: "/test.php",data: 'peremennayaPOST=value&peremennayaPOST2='+encodeURIComponent(value_from_html),async: false}).responseText;
if (test=='buuu'){alert('yes');}else {alert('false');}
 
Назад
Сверху