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

ajax, передача данных методом пост
день добрый, занимаюсь изучением аякс по видеокурсам, списываю код с монитора, по сценарию нужно передать данные в файл addrecord.php методом POST, код следущий:

index.html
<form class="guest" onsubmit="return false">
	<input id = "txtName" type="text" />
	<input id="txtEmail" type="text" />
	<textarea id="txtMessage"></textarea>
	<button onclick="addRecord()">Сохранить</button>
</form>


ajax.js
function Record(author, email, message) {
	this.author = author;
	this.email = email;
	this.message = message;
}

function addRecord() {
	var txtName    = document.getElementById("txtName");
	var txtEmail   = document.getElementById("txtEmail");
	var txtMessage = document.getElementById("txtMessage");
	if (txtName.value == "" || txtEmail.value == "" || txtMessage.value == "") {
		alert("Необходимо заполнить все поля");
		return;
	}
	var record = new Record(txtName.value, txtEmail.value, txtMessage.value);
	var jsonData = JSON.stringify(record);
		
	var req = new XMLHttpRequest();		
	req.open("POST", "addrecord.php", true)	;
	req.setRequestHeader("Content-Type", "text/plain");
	req.setRequestHeader("Content-Length", jsonData.length);
	req.send(jsonData);
}


addrecord.php
<?
    $rawPost = file_get_contents("php://input");  
    header('Content-type: text/plain; charset=utf-8');
    header('Cache-Control: no-store, no-cache');
    header('Expires: ' . date('r')); 

    if ($rawPost) { $record = json_decode($rawPost); }
    else { $rawPost = 'ablom!';}
    echo "this is: ", $rawPost;
?>


в результате после заполнения полей формы и отправки в файле addrecord.php возвращается строчка "this is: ablom". А хотелось, чтобы вывелись введённые в форме данные (для дальнейшей обработки).

помогите найти ошибку. Спасибо
Ответить с цитированием