问题是:我的动机是从管理员处获取主题名称并将其插入数据库。然后我想将我的查询结果放到同一个网页上,而不是像ajax那样刷新它。以下代码给出了错误的o / p。我尝试了很多语法,但代码仍然是错误的响应。请告诉我正确的方法。
我的HTML代码是:
<form>
<input type="text" name="subject" />
<div id="subject"></div>
<input type="button" value="Submit" onclick="addSubject()" />
<script src="home.js">
</script>
</form>
我的home.js代码是:
function addSubject() {
a=document.getElementsByName("subject")[0].value;
destination="ajaxstoresubject.php?a:"+a+";";
var xhr=new XMLHttpRequest();
xhr.open("GET",destination,true);
xhr.send();
xhr.onreadystatechange=function() {
if(xhr.readyState==4 && xhr.status==200) {
document.getElementById("Subject").innerHTML=xhr.responseText;
}
}
}
ajaxstoresubject.php的代码是:
<?php
$subject=$_GET["a"];
$con=mysqli_connect("localhost","root","","doortolearn");
if(!$con){
echo("No database connection.");
}
$query="insert into subjects(sid) values('$subject')";
$result=mysqli_query($con,$query);
if($result){
echo("Subject successfully inserted");
}
else{
echo("Subject could not be inserted. Might be, the subject already exists.");
}
?>
问题是:它在主题表的sid列中插入一个空值。我检查过,sid是varchar还是问题。它也没有在网页上提供任何输出。
请不要建议JQUERY。我对此一无所知。
答案 0 :(得分:1)
检查correct format是否有GET查询字符串。尝试将destination="ajaxstoresubject.php?a:"+a+";";
更改为destination="ajaxstoresubject.php?a="+a;
答案 1 :(得分:-2)
这一切在这里工作正常我检查你的代码每件事情都很好。
最重要的是尝试使用XAMPP服务器,因为有时我也会下载免费项目,当我尝试使用WAMP服务器运行该项目时,它不起作用,但是XAMPP以真正快速的方式启动,WAMP总是想要更新,但我不会让你在本地服务器上使用WAMP ...
开始使用XAMPP,它非常好用户友好。
刚刚正确地对你的数据串进行贴现我注意到你的数据字符串没有被正确声明它应该是这样的decalre:
destination="ajaxstoresubject.php? a="+a;
我也在我的本地服务器上运行此代码,并且它与JavaScript完美配合,只需专注于双引号,逗号,骆驼字母,同时声明...