使用 axios 发送 API 调用不成功



我是 React Redux 和 Redux-logic 的初学者...我在尝试发送 PUT 请求时收到此错误...我也在使用鸭子和我的代码(服务.js(如下。

import { createLogic } from "redux-logic";
import actions from "./actions";
import types from "./types";
import endPoints from "../../../util/EndPoints";
import * as API from "../../../util/HTTPClient";
const addRegion = createLogic({
type: types.ADD_REGION,
latest: true,
debounce: 1000,
processOptions: {
dispatchReturn: true,
successType: types.ADD_REGION_SUCCESS,
failType: types.ADD_REGION_FAILED
},
process({ MockHTTPClient, getState, action }, dispatch, done) {
let HTTPClient;
if (MockHTTPClient) {
HTTPClient = MockHTTPClient;
} else {
HTTPClient = API;
}
let object = action.payload;
HTTPClient.Post(endPoints.ADD_REGIONS, object)
.then(resp => {
dispatch(actions.addRegionSuccess(resp.data));
console.log(resp.data);
})
.catch(err => {
let errorMessage;
if (err.response && err.response.status == 400) {
// errorMessage = err.response && err.response.data.error.message;
errorMessage = err.response && err.response.data.errormessage;
}
dispatch(
actions.addRegionFailed({
title: "Error!",
message: errorMessage
// message: "errorMessage"
})
);
})
.then(() => done());
}
});
const getRegion = createLogic({
type: types.GET_REGION,
latest: true,
debounce: 1000,
process({ MockHTTPClient, getState, action }, dispatch, done) {
let HTTPClient;
if (MockHTTPClient) {
HTTPClient = MockHTTPClient;
} else {
HTTPClient = API;
}
let object = action.payload;
HTTPClient.Get(endPoints.GET_REGIONS, object)
.then(resp => {
dispatch(actions.getRegionSuccess(resp.data));
})
.catch(err => {
dispatch(
actions.getRegionFailed({
title: "Error!",
message: err
})
);
})
.then(() => done());
}
});
const editRegion = createLogic({
type: types.EDIT_REGION,
latest: true,
debounce: 1000,
process({ MockHTTPClient, getState, action }, dispatch, done) {
let HTTPClient;
if (MockHTTPClient) {
HTTPClient = MockHTTPClient;
} else {
HTTPClient = API;
}
// let object = action.payload;
let selectedRegion = action.payload;
HTTPClient.Put(endPoints.EDIT_REGIONS, selectedRegion)
.then(resp => resp.data)
.then(data => dispatch(actions.editRegionSuccess(data)))
.catch(err => {
//console.log("TCL: process -> err", err);
var errorMessage;
if (err.response && err.response.status == 400) {
errorMessage = err.response && err.response.data.error.message;
}
dispatch(
actions.editRegionFailed({
title: "Error!",
//message: errorMessage
message: err
})
);
})
.then(() => done());
}
});
export default [addRegion, getRegion, editRegion];

我正在尝试将一些数据发送到后端 api(使用 PUT 请求(,但它给出了一个错误的请求。 我应该在代码中的什么位置进行更改?

在标题中,你说你正在使用 axios,但你没有。相反,您使用的是HTTPClient。

const axios = require('axios');
axios.put(endPoints.EDIT_REGIONS, selectedRegion)

更多例子在这里

最新更新