xmlHttp responseText返回php文件,而不是运行php脚本的结果

时间:2018-09-06 21:50:58

标签: php html

我有以下程序,test.html和test.php

test.html:

<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.6/react-dom.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.js"></script>
</head>

<body>
<div id="root"></div>
<script type="text/babel">


class NameForm extends React.Component {


    componentDidMount(){
        var xmlHttp = new XMLHttpRequest();
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
                console.log(xmlHttp.responseText)
            }
        }.bind(this)

        xmlHttp.open("GET","test.php",true)
        xmlHttp.send(null)
        event.preventDefault()
    }


    render() {
        return (<div/>)
    }

}

ReactDOM.render(
    <NameForm />,
    document.getElementById('root')
);


</script>
</body>

test.php

<?php
echo "this is a test"
?>

当我打开html页面时,我得到的是控制台中编写的php脚本的内容,而不是我期望的那样运行php脚本的结果,也就是说,在控制台中,我得到了:

<?php
echo "this is a test"
?>

而不是这个:

this is a test

这是为什么?我该如何解决?谢谢,

如果这是相对的话,我将使用python SimpleHTTPServer在本地运行

1 个答案:

答案 0 :(得分:2)

PHP 是一种服务器端语言,因此您的浏览器无法像html,Javascript或...那样解析它,您的浏览器可以运行它们。

因此,您需要一台服务器来运行PHP。(安装PHP)

在Windows上,您可以使用XamppWamp将其轻松本地化并运行代码。并使您的计算机成为服务器以测试您的代码...

另一种方法是手动安装PHP并运行它。

但是,如果您想拥有真实的服务器和主机站点,则更加复杂...

PS:如果您只想测试代码而不更改计算机配置,则可以使用免费的托管服务...

您可以在以下网址阅读更多信息: What you need to get started with PHP