我正在尝试使用fetch()
将React表单数据发布到我的Rails API,但是Chrome开发工具的"网络"选项卡中的错误返回:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /undefined/cars</pre>
</body>
</html>
控制台中的错误指出"意外令牌'<'",表明我的响应以 HTML 而不是 JSON 格式发送,但我不确定为什么它没有转换。
这是我的获取请求:
export const createCar = car => {
return dispatch => {
return fetch(`${API_URL}/cars`, {
method: "POST",
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({ car: car })
})
.then(response => response.json())
.then(car => {
dispatch(addCar(car))
dispatch(resetCarForm())
})
.catch(error => console.log(error + 'createCar POST failed'))
}
}
有人可以帮我解决这个问题吗?谢谢。
想
通了。我必须运行npm i dotenv
,然后将.env
文件添加到我的根目录并添加以下内容:
REACT_APP_API_URL=http://localhost:3001/