,這做的是,當用戶點擊該按鈕時,它將執行的Ajax代碼,然後獲取輸入的值,並將其發送到PHP文件中的函數然後將其發送回Ajax代碼以顯示來自MySQL表的消息。Ajax代碼無法正常工作,即使它是(我認爲)正確
我試着改變我的代碼,改變divID,改變語法,清除代碼塊,但似乎沒有工作。
AJAX
<script>
$(document).ready(function() {
$("#snd").click(function() {
var msgg = $('input[name=message]').val();
$.ajax({
type: "POST",
url: 'automatedchat_func.php',
data: {newmsg: msgg},
success: function(data) {
$("#conversation").html(data);
}
});
});
});
</script>
HTML 修訂
<div class="convo">
<div class="convo_field" id="conversation">
</div>
<div class="obj">
<div class="txtbox">
<form method="POST">
<input type="input" id="msg" name="message" placeholder="Type exact or related word(s) of your question"/>
</form>
</div>
<div class="but_send"><button id="snd" name="send">SEND</button></div>
</div>
</div>
PHP 修訂
<?php
include 'database/connect.php';
session_start();
$sql = "SELECT * FROM ai WHERE keywords LIKE '%$_POST[message]%' OR '$_POST[message]%_' OR '$_POST[message]_'";
$result = $conn->query($sql);
if ($row = $result->fetch_assoc()) {
echo "Hi ". $_SESSION['name'] .".<br> " . $row['message'];
}
?>
您收到了什麼錯誤?你有沒有從瀏覽器檢查控制檯?並檢查它給出了什麼錯誤 –
那麼你的JS和HTML看起來像它會工作,你確認PHP腳本實際上返回任何東西? MySQL是否失敗 - 是一個實際返回的行..? – Stuart
另外(我希望你已經知道),你的SQL是廣泛存在的濫用(期待幾個鏈接到[鮑比表](https://xkcd.com/327/) – Stuart