Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么使用jquery调用php函数会返回php代码_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 为什么使用jquery调用php函数会返回php代码

Javascript 为什么使用jquery调用php函数会返回php代码,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有这个php文件 if(isset($_GET['fn'])) { if($_GET['fn']=='generarxml') generarxml(); else exit; } function generarxml() { alert("si jalo"); } 当我想调用“generarxml”函数时,它会返回整个代码,而不是答案或警报。我这样称呼它 function

我有这个php文件

    if(isset($_GET['fn']))
    {
    if($_GET['fn']=='generarxml')
    generarxml();
    else 
    exit;
    }


    function generarxml()
    {
            alert("si jalo");
    }
当我想调用“generarxml”函数时,它会返回整个代码,而不是答案或警报。我这样称呼它

    function test()
            {
            $.ajax({
                                            url: "/include/generaxml.php?fn=generarxml",
                                            type: 'post',
                                            data: {},
                                            success: function(output){
                                                 alert (output);
                                            }
                                      });
            }

似乎您没有将PHP代码包装在
标记周围,或者web服务器没有配置为将PHP代码传递给PHP引擎。 另外,PHP中不存在
alert()
,请使用
echo
print

下面是一个代码的示例:

<?php
function generarxml() {
    echo "si jalo";
}

if(isset($_GET['fn']) && $_GET['fn'] == "generarxml") {
    generarxml();
}

?>

首先,让我们弄清楚几件事:

  • 您的机器上是否运行编译php的服务器?看看WAMP/XAMP,如果你没有,这是一个非常流行的
  • 你在哪里运行/调用代码?你是如何得到错误的
  • 在哪里定义alert()函数?看起来您正试图在php中使用javascript代码—它没有按预期工作,因为php是服务器端语言(在服务器上编译),而javascript是客户端语言(在用户机器上编译)

  • 最后——你的目标是什么,你想做什么?

    我认为你把一些javascript代码和PHP代码(两种不同的语言)混淆了

    尝试更改您的php文件,使其返回或回显您需要的答案:

    <?php
    
    if(isset($_GET['fn']))
    {
        if($_GET['fn']=='generarxml')
           return generarxml();
        else 
           return false;
    }
    
    
    function generarxml()
    {
       return ("si jalo");
    }
    
    ?>
    
    
    

    如果这不起作用,我建议你考虑A. Wolff的评论:你的服务器可能没有正确地处理你的PHP文件。

    听起来你的服务器,如果有的话,不处理PHP代码中PHP包裹的PHP标签?我认为PHP中的<代码>警报()/代码>不会做你认为会做的事情……我在WAMP的本地主机上,idk如果这是一个问题,php代码没有被包装,那么我们该怎么做呢?很抱歉对你这么不客气XC@PepoLazcano那是你的问题。您需要将代码包装在php标记中,以便将其作为php代码处理。您的只是被解析为普通html字符或文本谢谢,这是>?p?>的事情,而您重新构造我可怜的代码的方式,非常感谢!嘿,谢谢!遗憾的是,我迟迟没有回复,我尝试了上面的一些答案,它们都奏效了,但是thabks!是的,我有:D我有wamp实际上,我在phprunner上运行它,我没有得到错误,我只是必须找出它,因为这个软件不会告诉我我是否错了,jahjha,提醒一下,我被javascript的东西弄糊涂了!我的mid被搞糊涂了,很抱歉,但是上面的答案有助于解决问题,还有,我想做什么?我试图用一个.php外部文件创建XML文件,当我按下一个按钮时会调用该文件。