Php 从数据库获取()数据并设置为React.js组件状态
为了上帝的爱,我试图从我的数据库中获取数据并将其放入我的React组件状态,但我无法理解我做错了什么。这是我的PHP文件:Php 从数据库获取()数据并设置为React.js组件状态,php,reactjs,pdo,webpack-2,fetch-api,Php,Reactjs,Pdo,Webpack 2,Fetch Api,为了上帝的爱,我试图从我的数据库中获取数据并将其放入我的React组件状态,但我无法理解我做错了什么。这是我的PHP文件: <?php $servername = "localhost"; $username = "root"; $password = "root"; $dbname = "maggan"; // Create connection $conn = new mysqli($servername, $username, $password, $db
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "maggan";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM Items";
$result = $conn->query($sql);
while($row = mysqli_fetch_assoc($result))
$items[] = $row;
echo json_encode($items);
$conn->close();
?>
..我的dev-server.js文件如下所示:
var WebpackDevServer = require('webpack-dev-server');
var webpack = require('webpack');
// requiring my webpack configuration
var config = require('./webpack.config.js');
var path = require('path');
var compiler = webpack(config);
// then spinning up a new dev server with some settings
var server = new WebpackDevServer(compiler, {
hot: true,
filename: config.output.filename,
publicPath: config.output.publicPath,
proxy: {
"/getMail": 'http://localhost:80/magdan/php/mailer.php',
"/getProducts": 'http://localhost:80/magdan/php/products.php'
},
stats: {
colors: true
}
});
// its gonna listen to port 8080
server.listen(8080, 'localhost', function() {
console.log("Starting server on http://localhost:8080");
});
我只得到错误:
错误!!!JSON中位置0处的意外标记C
我非常感谢任何类型的输入 您的PHP文件没有输出JSON 您的提取处理程序正在调用
res.json()
:
这要求输出的JSON格式正确,但您的PHP文件输出的是“已连接”:
您需要更改PHP文件以返回有效的JSON。您的PHP文件没有输出JSON 您的提取处理程序正在调用
res.json()
:
这要求输出的JSON格式正确,但您的PHP文件输出的是“已连接”:
您需要更改PHP文件以返回有效的JSON。非常感谢@rossipedia,当我导航到“localhost:8080/getProducts”时,我现在从数据库中获得了一个JSON对象数组@这是因为您正在将该数组打印到屏幕上到
返回json_encode($items)代码>非常感谢@rossipedia,当我导航到“localhost:8080/getProducts”时,我现在从我的数据库中获得了一个JSON对象数组@这是因为您正在将该数组打印到屏幕上
到返回json_encode($items)代码>
const entry = [
'webpack-dev-server/client?http://localhost:8080', // bundle the client for webpack-dev-server and connect to the provided endpoint
'webpack/hot/only-dev-server', // bundle the client for hot reloading only- means to only hot reload for successful updates
'./app.js'
]
var WebpackDevServer = require('webpack-dev-server');
var webpack = require('webpack');
// requiring my webpack configuration
var config = require('./webpack.config.js');
var path = require('path');
var compiler = webpack(config);
// then spinning up a new dev server with some settings
var server = new WebpackDevServer(compiler, {
hot: true,
filename: config.output.filename,
publicPath: config.output.publicPath,
proxy: {
"/getMail": 'http://localhost:80/magdan/php/mailer.php',
"/getProducts": 'http://localhost:80/magdan/php/products.php'
},
stats: {
colors: true
}
});
// its gonna listen to port 8080
server.listen(8080, 'localhost', function() {
console.log("Starting server on http://localhost:8080");
});
const data = await res.json();
echo "Connected successfully";