我想从本地安装的数据库中检索数据。 但是网站是用js编写和控制的,所以我必须向php文件发送一个ajax请求,然后连接到数据库,发送查询,然后将结果返回给js。
我有几个文件,因为我从2012年开始遵循本教程:https://www.youtube.com/watch?v=Yb3c-HljFro
结构: | -ajax(文件夹) | | -pkmn.php | -db(文件夹) | | -connect.php | -js(文件夹) | | -global.js | -index.php
文件: 的index.php:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"></meta>
</head>
<body>
Type: <input type="text" id="type"></input>
Tier: <input type="text" id="tier"></input>
<input type="submit" id="submit" value="Suchen"></input>
<div id="pkmn-data"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="js/global.js"></script>
</body>
</html>
global.js:
$("#submit").click(function () {
var type = $("type").val();
$.ajax("ajax/pkmn.php", {type: type}, function(data) {
alert(data);
});
});
connect.php
<?php
mysql_connect('localhost','root', '123456');
mysql_select_db('database');
pkmn.php:
<?php
echo 'Hello';
用户应在文本输入中输入内容,然后单击“提交”,global.js文件通过ajax请求将该文本发送到文件pkmn.php。 但是当我单击提交按钮时,我收到一个错误:
XML-Verarbeitungsfehler: Ungeschlossenes Token
Adresse: file:///C:/Users/Jonathan%20Frakes/Documents/testDB/ajax/pkmn.php
Zeile Nr. 1, Spalte 1: pkmn.php:1:1
XML-Verarbeitungsfehler: Ungeschlossenes Token
Adresse: file:///C:/Users/Jonathan%20Frakes/Documents/testDB/index.php
Zeile Nr. 1, Spalte 1: index.php:1:1
其中的内容如下:
XML-Parseerror: unclosed token
at: file:///C:/Users/Jonathan%20Frakes/Documents/testDB/ajax/pkmn.php
Row 1, Column 1: pkmn.php
XML-Parseerror: unclosed token
at: file:///C:/Users/Jonathan%20Frakes/Documents/testDB/ajax/index.php
Row 1, Column 1: index.php
我完全不知道,什么可能导致这个错误。 此外:当我关闭pkmn.php中的php-tag时,控制台说BOTH错误转移到第3行第3列,当我稍后关闭php-tag(通过添加另一个换行符)时,错误再次在两个文件中移动。我还可以在结束标记前添加空格,水平移动错误。
我之前从未见过这样的事情,所以请帮我解决这个问题。
祝你好运, PanCave
编辑: 根据本教程(https://www.w3schools.com/php/php_ajax_database.asp)更改global.js现在会产生“找不到根元素”错误:/
$("#submit").click(function () {
var type = $("#type").val();
var tier = $("#tier").val();
if(window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
document.getElementById("pkmn-data").innerHTML = this.responseText;
}
};
xmlhttp.open("Get", "pkmn.php?type="+type+"&tier="+tier);
xmlhttp.send();
});