【发布时间】:2020-01-12 09:11:08
【问题描述】:
我正在尝试使用 ReactJS 和 Axios 从 PHP 文件中仅获取“测试”响应。但是从rest.php而不是“Test”获取整个代码。
当我尝试访问 localhost/rest.php 时,只得到“测试”字样,PHP 运行良好。
我做错了什么?
谢谢
app.jsx
import React, { Component } from 'react';
import './App.css';
import axios from 'axios';
class App extends Component {
constructor(props) {
super(props);
this.state = {
};
}
componentDidMount() {
const url = './api/rest.php'
axios.get(url)
.then(res => {
const persons = res.data;
this.setState({ contacts: persons });
})
}
render() {
return (
<div style={{ width: "100%", height: "100vh" }}>
{this.state.contacts}
</div>
)
}
}
export default App;
和rest.php
header("Access-Control-Allow-Origin: *");
$data = json_decode(file_get_contents("php://input"), true);
$host = "localhost";
$user = "root";
$password = "";
$dbname = "musteri";
//$con = mysqli_connect($host, $user, $password,$dbname);
echo "test";
【问题讨论】:
-
这与 MySQL、React 和 Axios 无关。出于某种原因,您的本地网络服务器将您的 Php 文件视为文本。
-
但是如果是apache问题,当他访问页面时应该将php文件渲染为文本对吗?
-
这不是 apache 问题,因为当我从浏览器直接调用时 PHP 文件返回“测试”
-
那么问题是 URL
./api/rest.php解析到与localhost/rest.php不同的地方(因此它很可能是一个 Apache 问题,因为你完全绕过了 Apache 并且不应该)
标签: javascript php