数据中包含的php文件是源代码

时间:2018-07-09 03:51:50

标签: php ajax

我正在尝试使用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:

怎么了?如何解决?

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).