ajax responseText содержит исходный код php

Я пытаюсь сделать вызов 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, но мне сказали, что это не очень хорошая практика. ПРОБНАЯ ИНТЕГРАЦИЯ PHP

Что я могу сделать из этой ситуации, так это то, что Tomcat не анализирует файл PHP, а вместо этого возвращает исходный код. Я считаю, что у меня должно быть средство, позволяющее tomcat анализировать файлы php и отправлять правильный ответ.

Я также пробовал использовать простой php-код с одним статусом <?php echo 'HELLO'; ?>, и я все еще получаю исходный код. Заранее спасибо.

ПРИМЕЧАНИЕ: я не знаю php, я работаю над примером из HEAD FIRST AJAX


person saikumarm    schedule 30.12.2014    source источник
comment
добавьте die после эха, тогда он выведет только ваш текст.   -  person Mike Clark    schedule 30.12.2014
comment
@MikeClark Это все еще не работает. die("Message"); до ?>.   -  person saikumarm    schedule 30.12.2014
comment
Как называется ваш файл php?   -  person Rasclatt    schedule 30.12.2014
comment
checkName.php, но поскольку я получаю исходный код, я не думаю, что у tomcat есть проблема с поиском файла в каталоге.   -  person saikumarm    schedule 30.12.2014
comment
Да, обычно люди забывают назвать его с расширением .php (звучит глупо, но случается часто), поэтому, если у вас есть действующий php-файл, то это не проблема.   -  person Rasclatt    schedule 30.12.2014
comment
возможно, у вас не установлен php, поэтому сервер возвращает файл в виде текста   -  person Mihai Crăiță    schedule 30.12.2014


Ответы (1)


вам нужно установить PHP для Tomcat и указать путь для его компиляции. См. ссылку ниже для настроек конфигурации 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/

person Mike Clark    schedule 30.12.2014
comment
Это не работает, я получаю UnsatisfiedLinkError и некоторые другие. - person saikumarm; 30.12.2014
comment
Пожалуйста, убедитесь, что php установлен на одном и том же сервере, или для запуска php установлен правильный путь среды. - person Mike Clark; 30.12.2014
comment
Не могли бы вы дать мне лучшую ссылку, потому что я пытался несколько раз с этой ссылкой и не удалось. - person saikumarm; 30.12.2014
comment
studytrails.com/blog / - person Mike Clark; 30.12.2014