jQuery $ .post()返回PHP代码

时间:2012-03-24 11:37:00

标签: php jquery post

我有这个jQuery函数:

function phpmail(){
    $.post('mail.php',{name:$("#name").val()},
        function(out){
            alert(out);
        });
}

和mail.php中的这个PHP脚本:

<?php
$name=$_POST['name'];
echo $name;
?>

然而,每当我点击一个按钮时,我得到PHP代码而不是变量,那么有人可以解释一下我做错了什么吗? 我正在使用WAMP在我的本地计算机上测试它。

4 个答案:

答案 0 :(得分:1)

也许您使用错误的网址(在浏览器上)对其进行测试..

它应该以http://localhost/

开头

不是file:/// c:\ wamp \ bla

答案 1 :(得分:0)

这是一个严重的问题。您应该确保在您的实例上正确安装了php,否则任何人都可以看到您的代码。还要确保您的Web服务器没有将您的cgi文件视为纯文本/ html

答案 2 :(得分:0)

这与您的PHP或JavaScript代码无关。问题是您的Web服务器配置错误。它不会将“.php”识别为PHP代码,因此无法解析它。

您需要告诉您的Web服务器,PHP结尾处理带有“.php”结尾的文件。您没有提到您正在使用哪个Web服务器,因此很难为您提供准确的说明,但是对于它的价值,这是我的Apache配置的相关部分。

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>

    # ...bunch of irrelevant stuff here

</IfModule>

当然,为了让PHP完全可以工作,必须像这样加载模块:

LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

但是,如果你正在运行Linux,那么你必须自己配置它是很奇怪的。但话又说回来我不知道你在跑什么。

Web服务器彼此之间存在很大差异,因此如果没有关于运行时环境的更多信息,很难给出良好的指令。你在运行Apache或IIS或Lighttp等吗? - 您在Windows,Linux或Mac上运行吗?如果Linux,哪个发行版,Debian或Fedora Core还是Ubuntu?

答案 3 :(得分:0)

您是否正确配置了Web服务器(例如Apache或nginx)?你是否将php文件作为纯文本处理?