我已经浏览了一下,不幸的是,我在网站上找到的解决方案似乎无法解决我的问题。
基本上我正在做一个我需要有效设置日记的项目 - 用户在textarea元素中写入,并通过PHP传递给数据库并为用户存储。在讲师的视频中,他似乎没有使用提交按钮(即使他没有,我认为这是一个有趣的事情,学习如何做)。
我有一些问题。这是我的PHP:
<?php
session_start();
if(array_key_exists("id", $_COOKIE)) {
$_SESSION['id'] = $_COOKIE['id'];
}
if(array_key_exists("id",$_SESSION)) {
echo "Logged in: <p><a href='secretDiaryFinal2.php?logout=1'>
Log out</a></p>";
} else {
header("Location: secretDiaryFinal2.php");
}
/* I'm putting in the database update later, for now I just wanted to check if I could
actually create the POST variable below*/
$msg = "";
if(array_key_exists('diaryEntry',$_POST)) {
$msg = $_POST['diaryEntry'];
} else {
$msg = "Some kind of PHP error";
}
?>
相关的HTML:
<body>
<div id="testDiv">
<? echo $msg ?>
</div>
<div class="container" id="diaryArea">
<form method="post">
<textarea id="diary" value=""></textarea>
</form>
</div>
相关的JQuery(我对Ajax非常弱,我怀疑这里有很多问题 - 还要注意我使用的url实际上和JQuery在同一个脚本中,我和#39;我不确定这是否有效?)在下面。
基本思想是,每次用户输入时,都应该更新数据库(我意识到这是对服务器的大量调用,我可能会用定时命令替换它):
<script type="text/javascript">
$("#diary").keyup(function () {
var dataString = $("#diary").val();
$.ajax({
type: "POST",
url: "loggedInPageFinal.php",
data: ({diaryEntry:dataString}),
success: function(data) {
console.log(data);
}
});
return false;
});
</script>
非常感谢,并为我糟糕的代码道歉!
答案 0 :(得分:0)
var DataString = $("#diary").val();
$.post( "loggedInPageFinal.php",{dataString:DataString }, function( data ) {
console.log(data);
});
答案 1 :(得分:0)
你的ajax脚本确实有效。
但你的PHP代码没有返回任何东西。将exit($msg);
放在代码的末尾,看看会发生什么。