Php jQuery autosave运行成功函数,但未更新MySQL

Php jQuery autosave运行成功函数,但未更新MySQL,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我的jQuery autosave正在运行success函数,但没有更新MySQL数据库。我做错了什么 jQuery: function autosave() { var t = setTimeout("autosave()", 5000); var translation = $("#doc-translation").val(); if (translation.length > 0) { $.ajax({ type:

我的jQuery autosave正在运行success函数,但没有更新MySQL数据库。我做错了什么

jQuery:

function autosave() {
    var t = setTimeout("autosave()", 5000);

    var translation = $("#doc-translation").val();

    if (translation.length > 0) {
        $.ajax({
            type: "POST",
            url: "update-draft-submission.php",
            data: translation,
            cache: false,
            success: function() {   
                         $(".autosaved").empty().append("saved");
            }
        });
    }
} 
<?php
session_start();
//retrieve our data
$iddoc = $_GET['iddoc'];
$trans = translation;
$transowner = $_SESSION['userid'];
$true = 1;
include "../dbconnect.php";
$query = "UPDATE translations
          SET trans='$trans'
          WHERE iddoc='$iddoc'
          AND transowner='$transowner'";
mysqli_query($query);
mysqli_close();

echo "Saved";
?>
PHP:

function autosave() {
    var t = setTimeout("autosave()", 5000);

    var translation = $("#doc-translation").val();

    if (translation.length > 0) {
        $.ajax({
            type: "POST",
            url: "update-draft-submission.php",
            data: translation,
            cache: false,
            success: function() {   
                         $(".autosaved").empty().append("saved");
            }
        });
    }
} 
<?php
session_start();
//retrieve our data
$iddoc = $_GET['iddoc'];
$trans = translation;
$transowner = $_SESSION['userid'];
$true = 1;
include "../dbconnect.php";
$query = "UPDATE translations
          SET trans='$trans'
          WHERE iddoc='$iddoc'
          AND transowner='$transowner'";
mysqli_query($query);
mysqli_close();

echo "Saved";
?>

您没有正确获取PHP中的数据:

$iddoc = $_GET['iddoc'];
$trans = translation;
  • iddoc未作为GET参数传递到任何位置
  • “翻译”不是变量(我也不认为它是常数)
如果SQL没有在查询中获得所需的值,它将中断

更新您的javascript以便:

$.ajax(
 {
   type: "POST",
   url: "update-draft-submission.php",
   data: data: {translation:translation,iddoc:"XXX"},
   cache: false,
   success: function()
   {   
     $(".autosaved").empty().append("saved");
   }
 });
用您的
iddoc
值替换XXX

然后在PHP中,将它们作为:

$iddoc = $_POST['iddoc'];
$trans = $_POST['translation'];

您是否从mysql查询中得到错误?如果不是,那么它可能不会影响任何行。使用mysqli\u受影响的行或直接在mysql.Hmm中输入测试查询。。我在我的SQL浏览器中运行了此命令,但在第1行出现错误:
“更新翻译集trans='lkjh',其中iddoc='25'和transowner='hubrid'”
翻译在我的js中不是定义为我的文本区域的值吗?如果没有,我怎么能把它传过去?我以为我是。iddoc在URL中作为GET参数传递?我已经用代码更新了答案,说明了如何在Javascript中传递值,以及如何在PHPGreat中获取值,它可以工作!在
,iddoc:“XXX”},
部分中,从我的URL中获取iddoc时遇到问题。
XXX
的值不应包含在引号中。它应该是XXX而不是“XXX”。另外,您的意思是无法在XXX中获取要替换的值吗?请按如下方式更新javascript行:
data:{translation:translation,iddoc:},