当我使用Web应用程序并通过浏览器进行多次调用时,我的客户端被后端API阻止(在邮递员上尝试时,我没有遇到这个问题),有时以一种方法有时是另一种方法,即GET或POST。
我正在使用nodejs并在后端表示,这是我的 index.js:
const functions = require('firebase-functions');
var express = require('express');
var cors = require('cors');
var app = express();
app.use(cors({ origin: true}));
在前端,我使用react,并使用Axios进行API调用:
我在 App.js 中定义了baseURL:
axios.defaults.baseURL = 'API_URL/api';
然后在redux / actions中进行get / post调用:
export const loginUser = (userData, history) => (dispatch) => {
dispatch({ type: LOADING_UI });
axios.post('/login', userData)
.then((res) => {
setAuthorizationHeader(res.data.token);
dispatch(getUserData());
dispatch({ type: CLEAR_ERRORS});
history.push('/');
})
.catch((err) => {
dispatch({
type: SET_ERRORS,
payload: err.response.data
});
});
};
export const getProfileData = (userHandle) => (dispatch) => {
dispatch({ type: LOADING_PROFILE });
axios.get(`/user/${userHandle}`)
.then((res) => {
dispatch({
type: SET_PROFILE,
payload: res.data
});
})
.catch((err) => {
console.log(err);
});
};
...
我知道这是一个非常重复的问题,但是我读了很多文章,却没有找到解决方法...
答案 0 :(得分:0)
我的问题是由我部署到Firebase的多个触发器引起的。他们创建了对Firebase Functions的大量调用,并且超出了配额,因此解决方案是更改计划。