首页 > 解决方案 > 无法通过 React to Rails API 发布

问题描述

我正在尝试使用fetch()POST React 表单数据到我的 Rails API,但我在 chrome 开发工具的 Network 选项卡中的错误返回:

<!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'))
}

}

有人可以帮我吗?谢谢。

标签: ruby-on-railsajaxreactjs

解决方案


弄清楚了。我必须运行npm i dotenv,然后将.env文件添加到我的根目录并添加以下内容:

REACT_APP_API_URL=http://localhost:3001/


推荐阅读