Php 我正在尝试发布<;部门>;使用jquery$.post()将内容添加到数据库

Php 我正在尝试发布<;部门>;使用jquery$.post()将内容添加到数据库,php,jquery,mysql,Php,Jquery,Mysql,我想使用jquery$.post()方法将数据添加到表中,但它不会更新。 HTML:这是HTML代码 <div id="ant-container" name="text" style="border:1px solid #CCCCCC;height:300px;width:80%;"> <?php if (isset($_POST['submit'])&& $_POST['text'] ==''){ echo parseWord($my

我想使用jquery$.post()方法将数据添加到表中,但它不会更新。 HTML:这是HTML代码

    <div id="ant-container" name="text" style="border:1px solid #CCCCCC;height:300px;width:80%;">
    <?php if (isset($_POST['submit'])&& $_POST['text'] ==''){
    echo parseWord($myFile);
    }elseif (isset($_POST['text'])) { echo $_POST['text'];}
    </div>
在这里,我得到了“ide”和“div_内容” PHP:这是我的PHP代码(content.PHP)

$div=mysql\u real\u escape\u字符串($\u POST['contents']);
$id=mysql\u real\u escape\u字符串($\u POST['id']);
$sql=“UPDATE`antr\'u随笔`SET`annotext`={$div},`grade`='$'u POST[grade],`comments`='$'u POST[comments]'
其中id=$id”;
$update=$DB->update($sql);
$sql=“更新`antr\u随笔`
设置'annotext`={$div},
`职系“=”$\u职位[职系],
`评论“=”$\u发布[评论]'
其中id=$id”;
$update=$DB->update($sql);
//变量转储($sql);出口
如果(isset($update)){
回声';
echo“添加批注成功”;
回声';
}
标题(“location:annotate.php”);
我在提交后没有重定向到content.php,表也没有更新。 我能做什么请帮我


谢谢,

请检查您在header()中给出的位置的拼写

改变

header("loction:annotate.php");

使用以下方法尝试此操作:


试着把那个div放到另一个div中,然后像这样尝试

    <div id="my_div"><div id="ant-container" name="text" style="border:1px solid #CCCCCC;height:300px;width:80%;"></div></div>
并尝试更正位置的拼写

header("location:annotate.php");
最好像这样使用ajax

$.ajax({
           type: "POST",
           url: "content.php", 
           data : { 'contents':div_contents, 'id' :ides},
           success: function(result) 
           {     
                alert(result);
           }
});

我认为您有一些sql错误:

$sql ="UPDATE `antr_essay` SET `annotext`=      {$div},`grade`='$_POST[grade]',`comments`='$_POST[comments]' -> like below .
WHERE id=$id";
$update=$DB->update($sql);
$sql ="UPDATE `antr_essay` 
   SET `annotext`={$div}, -> **this line why not SET `annotext`='{div}'** ?
   `grade`='$_POST[grade]',
    `comments`='$_POST[comments]'
        WHERE id=$id";
   $update=$DB->update($sql);

下面是我将如何拍摄的:

1) 使用测试查询为AJAX调用的页面创建一个版本,您可以运行该版本的测试查询,以确保该部分正在执行您期望的操作。建议您只需通过浏览器访问此页面,而不是AJAX,直到您知道它可以工作为止。正如其他人所说,它可能只是失败了,因为您试图在回显、SQL错误或打字错误等之后发送php头

2) 制作另一个测试页面,该页面只提供期望AJAX处理的响应。建议只是让DIV内容发布并回复

一旦这两种方法按预期工作,您只需要将它们结合起来。一步一步地去做,如果在某个时候失败了,你会对原因有更好的了解

最后,您似乎没有任何处理SQL错误的工具-建议您添加一些,以便知道这是否是原因。

使用
连接到jquery,也可以尝试下面的方法

<script type="text/javascript">
    $(document).ready(function () {
    var div_contents = $('#ant-container').html();
        var ides = $('#id').val();
        $.post("content.php", { contents:div_contents, id :ides});
    });
</script>

$(文档).ready(函数(){
var div_contents=$('#ant container').html();
var ides=$('#id').val();
$.post(“content.php”,{contents:div_contents,id:ides});
});

在哪里发布SQL查询中使用的字段等级和注释?在同一个表中,但这些值来自其他字段..这些值正在出现,但只有内容没有出现..嗯..我说的是调用$。post似乎没有设置它。但是……好的表示您无法使用$.post()仅更新一个字段,但表仍然没有更新Hanks,我将尝试。我将拼写更改为Location您可以通知div_内容吗?并告诉我您得到了什么是的..值出现了..但当我变量_dump($\u post)时在content.php中它没有显示任何值..这意味着数据没有发布..在content.php页面中对吗?绝对的..我认为id没有为你获取..可以在发布之前检查你的id值..id和div\u内容都会出现,但是这些值在content.php中没有,当var\u dump($\u POST)检查时,谢谢..会尝试返回给你$.POST(“content.php”,{contents:div});语法应该是这样的。是的!应该是这样的!对我来说很有用。它可以通过以下方式访问:
$\u POST[“input\u name”];
真的!但是如果我给出,你怎么设置输入类型和名称呢?它会工作吗?$.POST()根本不向这个页面发送数据(content.php)…所以很难检查sql错误我已经标记了错误的地方。**这一行…**?你可以纠正这些地方并检查是否有效。要处理sql错误,你可以做一些事情,比如
if(!$update){header(“HTTP/1.1400 sql错误”);echo$errors;exit();}
当然,在那之后你必须将$.post扩展到这样的地方:
$.post(“content.php”,{contents:div_contents,id:ides})。失败(fumction(jqXHR,textStatus,errorshown){alert(jqXHR.responseText);})
@Mallu您更改了两行吗?第一行也更改了吗?
var div_contents = $('#my_div').html();
var ides = $('#id').val();
$.post("content.php", { contents:div_contents, id :ides});
header("location:annotate.php");
$.ajax({
           type: "POST",
           url: "content.php", 
           data : { 'contents':div_contents, 'id' :ides},
           success: function(result) 
           {     
                alert(result);
           }
});
$sql ="UPDATE `antr_essay` SET `annotext`=      {$div},`grade`='$_POST[grade]',`comments`='$_POST[comments]' -> like below .
WHERE id=$id";
$update=$DB->update($sql);
$sql ="UPDATE `antr_essay` 
   SET `annotext`={$div}, -> **this line why not SET `annotext`='{div}'** ?
   `grade`='$_POST[grade]',
    `comments`='$_POST[comments]'
        WHERE id=$id";
   $update=$DB->update($sql);
<script type="text/javascript">
    $(document).ready(function () {
    var div_contents = $('#ant-container').html();
        var ides = $('#id').val();
        $.post("content.php", { contents:div_contents, id :ides});
    });
</script>