我正在尝试使用ajax和php将简单的用户输入文本从输入框上传到mysql数据库。这个想法是在按下'显示'然后可以从数据库中检索文本并显示在页面上。
我想在这里尝试实现的是HTML:
<input type=text id="newjotting"><input type="submit" id="submit" value="Sumbit">
<input type="button" id="display" value="Update Display">
<div id="grabjottingsdiv">Jottings go here.</div>
数据库和表格&#39;记录&#39;已经创建了。当提交&#39;点击,这个javascript被执行:
function newjotting()
{ var newjot = document.getElementById("newjotting").value ;
var jotURL = "line=" + newjot ;
Ajax("POST", jotURL, "api/addjot.php", function(data){});
document.getElementById("newjotting").value = "" ;
}
document.getElementById("submit").addEventListener("click", function(data){ newjotting();});
使用此Ajax函数:
function Ajax(method, value, URL, callback)
{ var ajaxObj = new XMLHttpRequest();
ajaxObj.open(method, URL, true);
if (method == "POST")
{ ajaxObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); } ;
ajaxObj.onreadystatechange = function()
{ if (ajaxObj.status == 200)
if (ajaxObj.readyState == 4)
callback(ajaxObj.responseText);
};
ajaxObj.send(value);
}
应该将它发送到这个php:
<?php
$hostname = "localhost" ;
$username = "root" ;
$password = "" ;
$option = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION) ;
$_DB = new PDO("mysql:host=$hostname;dbname=ds6", $username, $password, $option) ;
try {
$newjotting = $_POST["line"] ;
$q = "INSERT INTO jottings( jotting) VALUES (:newjot)" ;
$query = $_DB->prepare($q) ;
$query->bindValue(":newjot", $newjotting);
$query->execute();
$_DB = null
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
我已经尝试过使用php进行了很多更改但没有成功。我开始认为它可能是Ajax的一个问题,但我不知道该尝试什么。在有人要求之前,我不应该使用jQuery。任何帮助将不胜感激。
答案 0 :(得分:0)
问题解决了。我相信这是因为我需要执行$ q而不是$ query。它始终是小事......