我正在尝试将数据从表单插入到数据库而不刷新页面,我的HTML页面如下所示:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<form name="form1" method="post" action="">Enter Name
<input type="text" name="t1" id="t1">
</td>
<br>Enter City
<input type="text" name="t2" id="t2">
</td>
<br>
<input type="button" name="button1" value="Insert to DB" onClick="aa()">
</form>
<div id="d1"></div>
<script type="text/javascript">
function aa() {
var xmlhttp = new XMLhttpRequest();
xmlhttp.open("GET", "insert.php?name=" + document.getElementById("t1").value + "&city" + document.getElementById("t2").value, false);
xmlhttp.send(null);
document.getElementById("d1").innerHTML = xmlhttp.responseText;;
}
</script>
</body>
</html>
和我的insert.php看起来像:
<?php
$name = $_GET["name"];
$city = $_GET["city"];
mysql_connect("localhost","root", "");
mysql_select_db("dwh");
mysql_query("insert into table1 values('$name','$city')");
echo "Record inserted";
?>
在我看来,这应该将PHP中的所有数据发送到“get”,php应该只接受并插入它。不知何故,它不是。也许我想念一下,你能帮我找个问题吗?
浏览器控制台说:
(index):16 Uncaught ReferenceError: XMLhttpRequest is not defined(index):16 aa(index):9 onclick
非常感谢你。
P.S。我理解我的MYSQL连接存在安全风险,这是为了测试如何使其工作而创建的。
答案 0 :(得分:1)
(index):16 Uncaught ReferenceError:未定义XMLhttpRequest(索引):16 aa(index):9 onclick
JavaScript区分大小写。函数是XMLHttpRequest
(大写字母H)。
答案 1 :(得分:0)
你在&#34; city&#34;这个词后面错过了一个等号。在&city
中,并且在构建查询字符串时是必需的:
xmlhttp.open("GET", "insert.php?name=" + document.getElementById("t1").value + "&city" + document.getElementById("t2").value, false);
应该是
xmlhttp.open("GET", "insert.php?name=" + document.getElementById("t1").value + "&city=" + document.getElementById("t2").value, false);
答案 2 :(得分:0)
尝试包括表的列名,例如:
insert into table1 (column1, column2) values('$name','$city')
此外,使用另一个变量来检查您的查询是否成功执行:
$result = mysql_query("insert into table1 (column1, column2) values('$name','$city')");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
答案 3 :(得分:0)
您需要解决两件事:
在var xmlhttp = new XMLhttpRequest();
行中,var xmlhttp = new XMLHttpRequest();
应为H
。
您需要将id
提供给<input>
,因为您要按getElementById()
附加值。目前,您已通过的id
没有元素。