我正在尝试使用Ajax确认 html文件和 php文件之间的连接:
$.get(
'database_query.php?begin='+$("#begin").val(), // Le fichier cible côté serveur.
'false', // Nous utilisons false, pour dire que nous n'envoyons pas de données.
function(data,status){
if(data == 'Success'){
// Le membre est connecté. Ajoutons lui un message dans la page HTML.
alert("<p>Vous avez été connecté avec succès !</p>");
}
else{
// Le membre n'a pas été connecté. (data vaut ici "failed")
alert("<p>Erreur lors de la connexion...</p>"+data+" "+status);
}
} // Nous renseignons uniquement le nom de la fonction de retour.
,
'text' // Format des données reçues.
);
但是我从数据中得到的回报是触发的php文件的空洞源代码,而不是“成功” 或“失败” >!?
这是触发的php文件:
<?php
try
{
// On se connecte à MySQL
$bdd = new PDO('mysql:host=localhost;dbname=nyc;charset=utf8', 'root', '');
}
catch(Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
if(isset($_GET["begin"])){
echo "Failed";
}
else
echo "Success";
?>
注意:状态包含成功! 并在控制台中出现此错误:
XML Parsing Error: no root element found
Location: file:///C:/xampp/htdocs/nyc-project/database_query.php?begin=2018-07-11
Line Number 33, Column 3:
怎么了?如何解决?
答案 0 :(得分:0)
我认为问题在于您的PHP服务器无法正常工作。您可以像
一样编写php文件<?php
phpinfo();
?>
然后您可以通过网络浏览器访问此文件,您会看到什么?如果您可以看到php信息,则您的服务器运行良好,但是如果您可以找到源代码,则意味着您应该设置服务器
答案 1 :(得分:0)
也许您可以尝试以下一种方法:
<!doctype html>
<html lang="fr">
<head>
<title>Test</title>
<meta charset="utf-8" />
</head>
<body>
<script src="jquery-3.3.0.min.js"></script>
<script>
(function($) {
var jqxhr = $.get(
'database_query.php?begin='+$("#begin").val(),
function(data) {
if(data == 'Success'){
// Le membre est connecté. Ajoutons lui un message dans la page HTML.
alert("<p>Vous avez été connecté avec succès !</p>");
}
else{
// Le membre n'a pas été connecté. (data vaut ici "failed")
alert("<p>Erreur lors de la connexion...</p>"+data);
}
}
)
.fail(function(data) {
console.log(data);
alert(data.responseText);
});
})(jQuery);
</script>
</body>
</html>
如果您进入了故障功能并且显示了php错误,您将了解为什么它不起作用。
有关jQuery.get()和此页面上的Promise的更多详细信息:https://api.jquery.com/jquery.get/
答案 2 :(得分:0)
显然,我使用the aid of this issue跟踪了问题的根源
问题出在网址中:
代替
'database_query.php
我应该放
'localhost/nyc/database_query.php'
此后,先前的错误消失了,并且出现了新的错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///C:/xampp/htdocs/nyc-project/localhost/nyc/database_query.php?begin=x. (Reason: CORS request not http).