![](/img/trans.png)
[英]POST http://localhost:3001/createPost 404 (Not Found) EXPRESS & REACT
[英]POST http://localhost:3001/[object%20Promise] 404 (Not Found) React Axios
這是我將數據發送到服務器的代碼,但我總是收到此錯誤。
let data = {
"email": "test@gmail.com",
"language": "en",
"country": "en",
"istestentry": false
};
let jsonData = JSON.stringify(data);
let encodedData = encodeURIComponent(jsonData);
let url = "https://example.org/b/receiver/external";
let fetchUrl = url + "?datajsonstr=" + encodedData + "&_=" + (new Date()).valueOf();
let datafetch = fetch(fetchUrl);
const [fetchedData, setFetchedData] = useState('');
async function fetchData(){
const {data} = await axios.post(
datafetch
)
setFetchedData(data)
}
useEffect(() => {
fetchData()
}, [])
const handleSubmit = (event) => {
event.preventDefault();
fetchData()
};
我不知道如何解決這個問題。
您正在嘗試發送承諾而不是字符串化數據。 let datafetch = fetch(fetchUrl);
給你一個承諾。 通過 params 發送數據也是通過get
請求完成的。 所以我假設您可能需要發出一個get
請求:
let fetchUrl = url + "?datajsonstr=" + encodedData + "&_=" + (new Date()).valueOf();
const [fetchedData, setFetchedData] = useState('');
async function fetchData(){
const {data} = await axios.get(fetchUrl)
setFetchedData(data)
}
(PS get
或post
取決於你的 api 如何處理請求。你可以選擇正確的一個)
我是這樣解決的。 如果你不想使用Axios,你也可以這樣解決。
const [dataDone, setDataDone] = useState(false);
useEffect(() => {
let data = {
"email": "test@gmail.at",
"language": "de",
"country": "de",
"istestentry": false
};
let jsonData = JSON.stringify(data);
let encodedData = encodeURIComponent(jsonData);
let url = "https://org.com;
let fetchUrl = url + "?datajsonstr=" + encodedData + "&_=" + (new
Date()).valueOf();
let datafetch = fetch(fetchUrl);
datafetch.then(data => {
setDataDone(true)
})
}, [])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.