ajax responseText包含php源代码

时间:2014-12-30 06:09:16

标签: javascript php ajax tomcat responsetext

我正在尝试拨打ajax并验证input html field。但是,而不是简单echo message。我在responseText中获得了完整的源代码。

的JavaScript

function checkUsername() {
document.getElementById("username").className = "thinking";
usernameRequest = createRequest();
if (usernameRequest == null)
    alert("Unable to create request");
else {
    var theName = document.getElementById("username").value;
    var username = escape(theName);
    var url= "checkName.php?username=" + username;
    usernameRequest.onreadystatechange = showUsernameStatus;
    usernameRequest.open("GET", url, true);
    usernameRequest.send(null);
    }
}

function showUsernameStatus() {
    alert(usernameRequest.responseText);

    if (usernameRequest.readyState == 4) 
    {
       if (usernameRequest.status == 200) {
       if (usernameRequest.responseText == "okay") {
           document.getElementById("username").className = "approved";
           document.getElementById("register").disabled = false;
       } 
       else {
           document.getElementById("username").className = "denied";
           document.getElementById("username").focus();
           document.getElementById("username").select();
           document.getElementById("register").disabled = true;
       }
       }
   }
 }

checkName.php

<?php
$takenUsernames = array('bill', 'ted');
sleep(2);
if (!in_array($_REQUEST['username'],$takenUsernames )) {
    echo 'okay';
} else {
echo 'denied';
?>

以前,我尝试将PHP集成到tomcat中,但我建议这不是一个好习惯。 TRIAL TO INTEGRATE PHP

我能从这种情况中得出的结论是Tomcat没有解析PHP文件,而是返回源代码。我相信应该有一种方法让我让tomcat解析php文件并发送正确的响应。

我也试过简单的PHP代码,有一个语句<?php echo 'HELLO'; ?>,我仍然得到源代码。 提前谢谢。

注意:我不知道php,我是从HEAD FIRST AJAX开始的一个例子

1 个答案:

答案 0 :(得分:3)

你需要为Tomcat和amp;安装PHP设置它的路径来编译它。请参阅下面的php配置设置链接。

http://php-java-bridge.sourceforge.net/doc/tomcat6.php
http://www.studytrails.com/blog/php-on-a-java-app-server-apache-tomcat-using-quercus/