我想使用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>
jquery:这个jquery代码
var div_contents = $('#ant-container').html();
var ides = $('#id').val();
$.post("content.php", { contents:div_contents, id :ides});
在这里我得到了“ides”以及“div_contents” PHP:这是我的PHP代码(content.php)
$div = mysql_real_escape_string($_POST['contents']);
$id = mysql_real_escape_string($_POST['id']);
$sql ="UPDATE `antr_essay` SET `annotext`= {$div},`grade`='$_POST[grade]',`comments`='$_POST[comments]'
WHERE id=$id";
$update=$DB->update($sql);
$sql ="UPDATE `antr_essay`
SET `annotext`={$div},
`grade`='$_POST[grade]',
`comments`='$_POST[comments]'
WHERE id=$id";
$update=$DB->update($sql);
//var_dump($sql);exit;
if (isset($update)){
echo '<div align="center" class="alert alert-success">';
echo "Annotation added Successfully";
echo '</div>';
}
header("loction:annotate.php");
我提交后不重定向到content.php并且表没有更新。 我能做什么可以帮助我
谢谢,
答案 0 :(得分:1)
请检查您在标题()中给出的位置的拼写。
更改
header("loction:annotate.php");
要
header("location:annotate.php");
答案 1 :(得分:0)
尝试使用serializeArray():
var div = $("#ant-container").serializeArray();
$.post("content.php", div );
答案 2 :(得分:0)
尝试将该div放入另一个div并尝试这样
<div id="my_div"><div id="ant-container" name="text" style="border:1px solid #CCCCCC;height:300px;width:80%;"></div></div>
然后将“my_div”的内容改为
var div_contents = $('#my_div').html();
var ides = $('#id').val();
$.post("content.php", { contents:div_contents, id :ides});
并尝试更正位置
的拼写header("location:annotate.php");
最好使用 ajax ,如
$.ajax({
type: "POST",
url: "content.php",
data : { 'contents':div_contents, 'id' :ides},
success: function(result)
{
alert(result);
}
});
答案 3 :(得分:0)
在我看来你有一些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);
答案 4 :(得分:0)
以下是我将如何对此进行错误处理:
1)使用您可以运行的测试查询创建AJAX调用的页面版本,以确保该部件正在按照您的预期进行操作。建议只需通过浏览器访问此页面,而不是AJAX,直到您知道它有效。正如其他人所说,它可能只是失败,因为你试图在回声,SQL错误或拼写错误等之后发送php标题。
2)创建另一个测试页面,它只提供您期望AJAX处理的响应。建议只是让DIV内容发布并回传。
一旦你有两个按预期工作,你只需要将它们组合起来。一步一步地采取它,如果它在某些时候失败,你将更好地了解原因。
最后,您似乎没有任何处理SQL错误的工具 - 建议您添加一些,以便您知道这是否是原因。
答案 5 :(得分:0)
使用<script src = "http://code.jquery.com/jquery-1.9.1.js"></script>
连接到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>