ajax调用php无法正常工作

时间:2011-09-09 20:22:07

标签: php html ajax

我正在对php函数进行ajax调用...我正在尝试使用php脚本在时间输入字段上显示服务器时间...我正在按照教程我发现每个单词的在线单词但是由于某种原因,我一直在时间输入字段中接收来自php文件的实际文本...有人可以告诉我为什么会发生这种情况吗?

这是我的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>Server Time Example</title>
</head>
<body>

<script language="javascript" type="text/javascript">
<!--
    //Browser Support Code
    function ajaxFunction() {
        var ajaxRequest;  // The variable that makes Ajax possible!

        try {
            // Opera 8.0+, Firefox, Safari
            ajaxRequest = new XMLHttpRequest();
        } catch (e) {
            // Internet Explorer Browsers
            try {
                ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    // Something went wrong
                    alert("Your browser broke!");
                    return false;
                }
            }
        }
        // Create a function that will receive data sent from the server
        ajaxRequest.onreadystatechange = function () {
            if (ajaxRequest.readyState == 4) {
                document.myForm.time.value = ajaxRequest.responseText;
            }
        }
        ajaxRequest.open("GET", "serverTime.php", true);
        ajaxRequest.send(null);
    }

//-->
</script>

<form name='myForm'>
Name: <input type='text' onChange="ajaxFunction();" name='username' /> <br />
Time: <input type='text' name='time' />
</form>
</body>
</html>

这是PHP:

<?php
  echo date("H:i:s");

?>

3 个答案:

答案 0 :(得分:2)

我将假设您使用Apache作为您的Web服务器。您应该确保在配置中有类似于以下内容的内容:

AddType application/x-httpd-php .php

您的文件看起来像纯文本一样,而不是传递给PHP。

答案 1 :(得分:1)

检查以下内容:

  1. php代码(echo date("H:i:s");)应该与ajax / html代码在一个单独的文件中(技术上有办法解决这个问题,但它们会使一切变得复杂得多)
  2. php文件应该有.php扩展名
  3. 您的服务器应配置为将.php文件扩展名视为php代码(请参阅Ek0nomik的回答)
  4. php代码应该有<?php?>标签
  5. 您的服务器应安装php
  6. 如果这一切都失败了,请直接在浏览器中找到php文件,看看会出现什么。

答案 2 :(得分:0)

我要播放Carnac并说出来是因为你的文件开头没有<?PHP,文件末尾没有?>