день добрый, занимаюсь изучением аякс по видеокурсам, списываю код с монитора, по сценарию нужно передать данные в файл 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". А хотелось, чтобы вывелись введённые в форме данные (для дальнейшей обработки).
помогите найти ошибку. Спасибо