保存textarea" onkeypress"的内容用ajax

时间:2015-11-26 18:19:04

标签: php ajax store keypress

我是Ajax请求的初学者,我坚持这样做:我想在每个按键的数据库中保存textarea。

的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我正在收听textarea的keypress。当发生时,它传递按下的键,函数note()将参数传递给PHP。它将文本保存在表note中并返回存储的文本。

我收到错误500(内部服务器错误),我不知道我的代码有什么问题。 也许关于header('Content-type: text/html; charset=utf-8');需要json内容类型?

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

在ajax相关的API中,你需要让javascript输出可读,并且需要将error_reporting设置为0,这样就可以打印出纯JSON输出,你可以轻松地读取它...你可以这样做...... < / p>

<?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']);
       }