Я новичок в Ajax-запросах, и я застрял с этим: я хочу сохранить текстовую область в своей базе данных для каждого нажатия клавиши.
JavaScript
$("#note_content").bind("keydown", function() {
note(this.value)
});
function note(value) {
$.ajax({
async : false,
type: "GET",
url: "./ajax.php",
data: {
'block' : 'note',
'text' : value
},
success: function(data) {
$("#note_content").html(html);
}
});
}
PHP
<?php
header('Content-type: text/html; charset=utf-8');
function note() {
$bdd = new PDO('mysql:host=localhost;dbname="myDatabase";charset=utf8', 'root', 'password');
$req = $bdd->prepare('UPDATE note set text= ?');
$req->execute(array($_GET['text']);
$reponse = $bdd->('SELECT text FROM note');
$donnees = $reponse->fetch();
$text = $donnees;
return($text)
}
if(($_GET['block'] == 'note'){
echo note();
}
?>
С JQuery я слушаю нажатия клавиш для текстовой области. Когда происходит, он передает клавишу, которая нажата, чтобы функционировать note()
которые передают параметры в PHP. Сохраняет текст в таблице note
и вернуть сохраненный текст.
Я получил ошибку 500 (Внутренняя ошибка сервера), и я не знаю, что случилось с моим кодом.
Может быть, это о header('Content-type: text/html; charset=utf-8');
которые должны быть json
Тип содержимого ?
Есть идеи, что я делаю не так?
в API, связанном с ajax, где вам нужно сделать вывод читаемым с помощью javascript и сделать error_reporting равным 0, так что выводится чистый вывод JSON, и вы можете легко прочитать его в javascript … вы можете сделать вот так …
<?php
header('Content-type: application/json; charset=utf-8');
function note() {
$bdd = new PDO('mysql:host=localhost;dbname="myDatabase";charset=utf8', 'root', 'password');
$req = $bdd->prepare('UPDATE note set text= ?');
$req->execute(array($_GET['text']);
$reponse = $bdd->('SELECT text FROM note');
$donnees = $reponse->fetch();
$text = $donnees;
return($text)
}
if(($_GET['block'] == 'note'){
$output = array();
$output['status'] = true;
$output['error'] = 'no errors';
$output['data'] = note();
echo json_encode($output);
}else{
$output = array();
$output['status'] = false;
$output['error'] = 'block is not note';
echo json_encode($output);
}
?>
в JavaScript вы можете проверить это как …
success: function(data) {
$("#note_content").html(data['data']);
}
Других решений пока нет …