xmlrequest不会从php返回文本

时间:2014-09-25 09:07:29

标签: javascript php html xmlhttprequest

我需要找到一些能够从.html调用.php的工具。 这是一个问题: 虽然这个例子有效,但是来自.php文件:

<html>
    <head>
    <meta http-equiv="content-type" content="text/html" charset="utf-8">

    </head>
    <body>

    <p>Your IP is </p>
    <?php
            echo $_SERVER['REMOTE_ADDR'];
    ?>
    <hr />
    </body>
</html>

此示例不会回显.html文件中的IP:

  

---来自index.html ---

<html>
    <head>
        <meta http-equiv="content-type" content="text/html" charset="utf-8">
        <script type="text/javascript">
        function getIpNumber() {
            var xmlhttp=new XMLHttpRequest();
            xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    document.getElementById("showIpNumber").innerHTML=xmlhttp.responseText;
                }
            }
            xmlhttp.open("POST","getip.php",true);
            xmlhttp.send();
        }    

        </script>
    </head>
    <body onload="getIpNumber();">  
    <p>Your IP is <span id="showIpNumber"></span></p>
</html>
  

---来自getip.php ---

<?php
    echo "$_SERVER['REMOTE_ADDR']";
?>

这里有什么问题?

2 个答案:

答案 0 :(得分:2)

更改此行

echo "$_SERVER['REMOTE_ADDR']";

echo $_SERVER['REMOTE_ADDR'];

有错误报告会发出信号:

  

解析错误:第2行的/file.php中的语法错误,意外的''(T_ENCAPSED_AND_WHITESPACE),期望标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)


error reporting添加到文件的顶部,这将有助于在生产测试期间。

error_reporting(E_ALL);
ini_set('display_errors', 1);

正如克诺索斯在评论中指出的那样:

“你也可以使用echo "{$_SERVER['REMOTE_ADDR']}";虽然在这种情况下,这是毫无意义的。但它可以用于更大更复杂的字符串。”

答案 1 :(得分:0)

只需替换此行

echo "$_SERVER['REMOTE_ADDR']";

到这个

echo $_SERVER['REMOTE_ADDR'];