Показать сообщение отдельно
  #1 (permalink)  
Старый 23.10.2014, 12:09
Аватар для psfdek
Профессор
Отправить личное сообщение для psfdek Посмотреть профиль Найти все сообщения от psfdek
 
Регистрация: 14.02.2014
Сообщений: 157

Обработка JSON
Проблема в обработке полученного json от php с помощью GetXMLHttpRequest
Если все делаю на одной странице то работает:

<?php
$nonsequential = array("type"=>"foo", "test"=>"bar", "test1"=>"baz", "test3"=>"blong");
$nonsequential=json_encode($nonsequential);
echo '<script type="text/javascript">';
echo 'people='.$nonsequential;

echo '</script>';
?>
<script>
  function test() {
	alert(people.type);
  }
</script>
<input id="test" type="button" value="Вывод данных" onclick="test()" />


А когда по ajax то не получается.
Пробовал по всякому. Сейчас сделал так что php возвращает ResponseText "{"type":"error","text":"11111"}" и затем я создаю массив с этими данными, но не пашет.



Вот всё:
function getXmlHttpRequest(){
	if(window.XMLHttpRequest)
		return new XMLHttpRequest();
	else
		return null;
}

//Получение и отправка параметров
function sendAjaxFunc(){
	var qFile = '/query.php'; //ссылка на исполняемый файл php (тип строка)
	//-Получение данных формы
		var val1 = document.getElementById('login_auth').value;
		var val2 = document.getElementById('passw').value;
		var val3 = document.getElementById("rememberme").checked
    //-//
	
	var reqStr =
	'query=query_login&'+
	'login='+val1+
	'&password='+val2+
	'&rememberme='+val3;
	
	getAjaxXML(reqStr,qFile);
}
//Обрабока параметров
function getAjaxXML(reqStr,qFile){
	var reqString = getXmlHttpRequest();
	reqString.onreadystatechange = function(){
			if(reqString.readyState != 4) return;{
				var rJSON = new Array(reqString.responseText);
				alert(rJSON.text);
			}
		};

	reqString.open('GET', '<?=baseurl?>'+qFile+'?'+reqStr, true);
	reqString.send(null);
}


PHP возвращает : {"type":"error","text":"11111"}

Мне алерт выдает undefined

Последний раз редактировалось psfdek, 23.10.2014 в 12:12.
Ответить с цитированием