我在使用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。
1条答案
按热度按时间csga3l581#
我想出来了我的cors.rb资源中的路径没有正确指向路由。我没有使用“/API/",而是将其替换为“/players/"。它立即生效。我不知道为什么GET获取与/API/* 一起工作,但是替换它确实有用。谢谢你,谢谢