要在React中處理PHP返回的JSON數(shù)據(jù),您需要遵循以下步驟:
data.php
的文件,其內(nèi)容如下:<?php
header('Content-Type: application/json');
$data = array(
'name' => 'John Doe',
'age' => 30,
'city' => 'New York'
);
echo json_encode($data);
?>
fetch()
函數(shù)從PHP腳本獲取數(shù)據(jù)。例如,在App.js
文件中,您可以編寫以下代碼:import React, { useState, useEffect } from 'react';
function App() {
const [data, setData] = useState({});
useEffect(() => {
fetchData();
}, []);
const fetchData = async () => {
try {
const response = await fetch('http://localhost/data.php');
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const jsonData = await response.json();
setData(jsonData);
} catch (error) {
console.error('Error fetching data:', error);
}
};
return (
<div className="App">
<h1>User Data</h1>
<p>Name: {data.name}</p>
<p>Age: {data.age}</p>
<p>City: {data.city}</p>
</div>
);
}
export default App;
這段代碼首先定義了一個(gè)名為data
的狀態(tài)變量,然后使用useEffect
鉤子在組件加載時(shí)調(diào)用fetchData
函數(shù)。fetchData
函數(shù)使用fetch()
從PHP腳本獲取數(shù)據(jù),并將結(jié)果存儲(chǔ)在data
狀態(tài)變量中。最后,我們在JSX中顯示從PHP腳本獲取的數(shù)據(jù)。
請注意,您需要根據(jù)實(shí)際情況修改URL,以便正確指向您的PHP腳本。同時(shí),確保您的開發(fā)服務(wù)器和PHP服務(wù)器運(yùn)行在相同的端口上,以避免跨域問題。