heroku CORS问题POST/DELETE返回状态:200方法:OPTIONS

yr9zkbsy  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(167)

我在使用axios从react前端向heroku rails后端服务器发送post请求和delete请求时遇到了问题。我的get请求正在工作。我试过做我的 Postman 的职位和删除请求,它的工作完美。我不知道是什么问题。
我的同事rb

Rails.application.config.middleware.insert_before 0, Rack::Cors do
  allow do

    origins 'https://wondrous-speculoos-749189.netlify.app'
    # Specify the domain that is allowed to access your API

    resource '/api/*',
      headers: :any,
      methods: [:get, :post, :put, :patch, :delete, :options, :head],
      credentials: true
  end
end

字符串
我的react vite代码

const [firstName, setFirstName] = useState('');
  const [lastName, setLastName] = useState('');
  const [deletePlayerId, setDeletePlayerId] = useState('');

  const handlePlayerSubmit = async (e) => {
  e.preventDefault();

  try {
    console.log(firstName, lastName)
    const response = await axios.post('https://agile-reef-32463-2ad3559c3e00.herokuapp.com/players', {
      player: {
        first_name: firstName,
        last_name: lastName,
      },
    });
  
    // Reset form values
    setFirstName('');
    setLastName('');
     console.log(response.data)
  } catch (error) {
    console.error(error);
  }
};

  const handleDeletePlayer = async (e) => {
    e.preventDefault();
    try {
      console.log(player.first_name);
      await axios.delete(`https://agile-reef-32463-2ad3559c3e00.herokuapp.com/players/${deletePlayerId}`);
      // Reset form values
      setDeletePlayerId('');
    } catch (error) {
      console.error(error);
    }
  };


我试过cors.rb,但仍然没有任何React。

csga3l58

csga3l581#

我想出来了我的cors.rb资源中的路径没有正确指向路由。我没有使用“/API/",而是将其替换为“/players/"。它立即生效。我不知道为什么GET获取与/API/* 一起工作,但是替换它确实有用。谢谢你,谢谢

相关问题