我瀏覽了一下,很遺憾,我在網站上找到的解決方案似乎沒有解決我的問題。通過Ajax將數據傳遞給PHP而無需使用提交按鈕
基本上我正在做一個項目,我需要有效地設置日記 - 用戶在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的(我在阿賈克斯非常虛弱,我懷疑有很多的問題,在這裏 - 也注意到網址我使用實際上是在與JQuery相同的腳本中,我不確定它是否有效)。
的基本思想是每一個用戶類型,數據庫應更新時間(我知道這是一個很大的呼叫服務器的,我可能會用一個定時的命令替換):
<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>
非常感謝,併爲我的糟糕代碼道歉!