Javascript 用Ajax调用页面PHP

Javascript 用Ajax调用页面PHP,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在调用PHP脚本时遇到一些困难: $("#tata").click(function(){ $.ajax({ url : 'http://localhost/joomla/modules/mod_visitor/helper.php' , type : 'GET' , success: function(data) { alert(data); }, error : fun

我在调用PHP脚本时遇到一些困难:

$("#tata").click(function(){


    $.ajax({

        url : 'http://localhost/joomla/modules/mod_visitor/helper.php' ,
        type : 'GET' ,

        success: function(data) {
            alert(data);
        },

        error : function(resultat, statut, erreur){
        console.log("no")
    }

});

});
但我的警报是空的。。。我确信URL是正确的,因为如果我在PHP文件中添加HTML代码,它会出现在我的警报中

我确信我的PHP代码可以正常工作

PHP文件:

 echo "lalalala";
$getData = new mod_visitor();
$writeData = new  writeData();
$urlPart1 = $_SERVER['HTTP_HOST'];
$urlPart2 = $_SERVER['REQUEST_URI'];
$pageEnCours = $urlPart1 .= $urlPart2;
$getData->get_ip();
$getData->LookupIP($GLOBALS['domain']);


$getData->ValidateIP($GLOBALS['domain']);




if ($GLOBALS['domain'] && $pageEnCours != preg_match("#localhost/joomla/$#", $pageEnCours)) {
    $GLOBALS['domain'] = trim($GLOBALS['domain']);

    if ($getData->ValidateIP($GLOBALS['domain'])) {
        echo "cc";
        $result = $getData->LookupIP($GLOBALS['domain']);
        $writeData->write_domain($result);
    } else {
        echo "erreur";
        $writeData->write_error();
    };

} else {
    echo "je ne rentre pas dans la boucle";
};

echo $pageEnCours;
echo $GLOBALS['domain'];

将数据类型解析为“json”
数据类型:“json”
添加到javascript

$.ajax({
    url : 'http://localhost/joomla/modules/mod_visitor/helper.php' ,
    type : 'GET' ,
    dataType: 'json',
    success: function(data) {
        alert(data);
    },
    error : function(resultat, statut, erreur){
    console.log("no")
}
并在php中作为JSON返回

<?php
    echo json_encode('lalala');
?>

将数据类型解析为“json”
数据类型:“json”
添加到javascript

$.ajax({
    url : 'http://localhost/joomla/modules/mod_visitor/helper.php' ,
    type : 'GET' ,
    dataType: 'json',
    success: function(data) {
        alert(data);
    },
    error : function(resultat, statut, erreur){
    console.log("no")
}
并在php中作为JSON返回

<?php
    echo json_encode('lalala');
?>

您的phpfile中有php标记吗?类似“是的,我有php标记”的内容。你检查过错误日志了吗?可能缺少一些包含项?您的phpfile中有php标记吗?类似“是的,我有php标记”的内容。你检查过错误日志了吗?可能有遗漏?但回音下的代码没有被解释。。。为什么?因为
echo
结束AJAX调用并将echo的东西返回到客户端,但我的目标是执行代码,echo只是用于测试,当我取下它时,我的脚本没有执行(通常我的脚本将数据插入日志文件)用于测试,您可以使用浏览器的控制台(网络选项卡)查看响应。创建一个默认为false的变量,如果一切顺利,则为true
echo
将该变量添加到客户端代码中,您可以看到它是真是假。嗯,这是第一次,我听说php脚本中只有一个echo(奇怪为什么多年来我的脚本和ajaxcalls都使用几个echo执行)。也许这是joomla的一些非常特殊的行为,我不知道。我也不知道为什么要将数据类型更改为json,因为问题中根本没有json。因为ajax调用的目的是生成输出并使用success分支中的变量数据执行一些代码。如果没有指定数据类型,将猜测响应。因此,响应应该会产生一个长字符串,但echo下的代码不会被解释。。。为什么?因为
echo
结束AJAX调用并将echo的东西返回到客户端,但我的目标是执行代码,echo只是用于测试,当我取下它时,我的脚本没有执行(通常我的脚本将数据插入日志文件)用于测试,您可以使用浏览器的控制台(网络选项卡)查看响应。创建一个默认为false的变量,如果一切顺利,则为true
echo
将该变量添加到客户端代码中,您可以看到它是真是假。嗯,这是第一次,我听说php脚本中只有一个echo(奇怪为什么多年来我的脚本和ajaxcalls都使用几个echo执行)。也许这是joomla的一些非常特殊的行为,我不知道。我也不知道为什么要将数据类型更改为json,因为问题中根本没有json。因为ajax调用的目的是生成输出并使用success分支中的变量数据执行一些代码。如果没有指定数据类型,将猜测响应。因此,响应应该产生一个长字符串