javascript - 飞行前响应中的 Access-Control-Allow-Methods 不允许方法 PATCH

标签 javascript reactjs redux react-redux axios

我在 ReactJS 中使用 axios PATCH 方法来更新记录,但它因以下错误而失败

Failed to load http://192.168.99.100:8080/adslots/883: Method PATCH is not allowed by Access-Control-Allow-Methods in preflight response.

这是我的操作:

export const UPDATE_AD_SLOTS_REQUEST = 'UPDATE_AD_SLOTS_REQUEST';
export const UPDATE_AD_SLOTS_SUCCESS = 'UPDATE_AD_SLOTS_SUCCESS';
export const UPDATE_AD_SLOTS_ERROR = 'UPDATE_AD_SLOTS_ERROR';


export function updateAdslotsRequest(){
  return {
    type: UPDATE_AD_SLOTS_REQUEST
  }
}

export function updateAdslotsSuccess(data){
  return {
    type: UPDATE_AD_SLOTS_SUCCESS,
    data: data
  }
}

export function updateAdslotsError(errors){
  return {
    type: UPDATE_AD_SLOTS_ERROR,
    erros: errors
  }
}

export function updateAdslots(data, id) {
  return dispatch => {
    dispatch(updateAdslotsRequest());
    return axios.patch(`http://192.168.99.100:8080/adslots/${id}`, data)
      .then(res => {
        dispatch(updateAdslotsSuccess(res.data));      
      })
      .catch(errors => {
        dispatch(updateAdslotsError(errors));
      })
  }
}

我完全糊涂了。

最佳答案

您调用的 API 必须允许 PATCH 请求。他们可以通过将 Access-Control-Allow-Methods header 设置为在其中也包含补丁来做到这一点。查看如何使用您的 api 使用的任何服务器端语言来执行此操作。您也可以尝试将调用切换为 POST 请求,但这更像是一种临时修复。

关于javascript - 飞行前响应中的 Access-Control-Allow-Methods 不允许方法 PATCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50541002/

相关文章:

asynchronous - Flutter Redux snackbar

javascript - D3工具提示修复定位

php - 每当浏览器加载图标处于事件状态时显示加载图标

javascript - 根据匹配后的计算设置对象数组内对象属性的状态 : reactjs

javascript - 在 ReactJS 上对状态对象使用 setState

javascript - 在字符串中传递的 HTML 标签无法正常渲染

javascript - 通过 redux/redux-thunk 发布到 mongoDB

javascript - 如何使用 HTML5/Javascript 防止长时间触摸/点击时选择 Canvas ?

javascript类似Date对象,返回不同的纪元?

javascript - 如何在 const 中存储数组