Reactjs Axios适用于GET,但不适用于';不适用于POST和DELETE?

Reactjs Axios适用于GET,但不适用于';不适用于POST和DELETE?,reactjs,axios,mulesoft,Reactjs,Axios,Mulesoft,我有一个问题让我很困惑。我在React中创建了web应用程序,在Mulesoft 4中创建了RESTAPI。由于我无法解决的CORS问题,我在package.json文件中添加了代理,所有操作都与GET请求配合良好。但现在,我正在尝试执行POST或DELETE请求,但它不起作用。实际上,当我尝试在后端调试时,它并没有“命中”我的API路由。下面我将向你展示我的代码,所以我希望你能帮助我 这是我的package.json文件: { "name": "erp-apoteka", "versi

我有一个问题让我很困惑。我在React中创建了web应用程序,在Mulesoft 4中创建了RESTAPI。由于我无法解决的CORS问题,我在package.json文件中添加了代理,所有操作都与GET请求配合良好。但现在,我正在尝试执行POST或DELETE请求,但它不起作用。实际上,当我尝试在后端调试时,它并没有“命中”我的API路由。下面我将向你展示我的代码,所以我希望你能帮助我

这是我的package.json文件:

{
  "name": "erp-apoteka",
  "version": "0.1.0",
  "private": true,
  "proxy": "http://localhost:8081/api/",
... 
}
以下是我的axios删除代码:

export const deleteKategorija = (kategorijaId: number) => {
    return axios.delete(`/kategorije/${kategorijaId}`);
};
至于职位:

export const postKategorija = (requestData: Kategorija) => {
    return axios.post<Kategorija>('/kategorije', {
        naziv: requestData.naziv,
        opis: requestData.opis,
    });
};
export const postKategorija=(requestData:Kategorija)=>{
返回axios.post(“/kategorije”{
naziv:requestData.naziv,
opis:requestData.opis,
});
};
当我尝试登录控制台时,我的响应显示为删除:

当我尝试登录控制台时,我对post的响应显示为空白对象:

你能试试这个例子吗,我调用了一个POST api调用。希望对你有帮助

请打开“网络”选项卡以检查呼叫后响应,然后您将在“网络”选项卡下获得成功响应

代码如下:

import React, {useState, useEffect} from 'react';
import axios from 'axios';

function PostCreate() {
    const [post, setPost] = useState({});

    const handleChange = ({target}) => {
        const {name, value} = target;
        setPost({...post, [name]: value});
        console.log(post);
    };

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

        const createData = async () => {
            try {
                const response = await axios.post(`https://jsonplaceholder.typicode.com/posts`, {
                    method: 'POST',
                    body: JSON.stringify({
                        title: post.title,
                        body: post.body,
                        userId: 1
                    }),
                    headers: {
                        "Content-type": "application/json; charset=UTF-8"
                    }
                })
                    .then(response => response.json())
                    .then(json => console.log(json));
                console.warn(response.data);
            } catch (error) {
                console.warn(error);
            }
        };
        createData();
    };
    return (
        <div className='container'>
            <div className='row'>
                <div className='col-4'>
                    <form onSubmit={handleSubmit}>
                        <div className="form-group">
                            <label htmlFor="name">Title</label>
                            <input type="text" name='title' value={post.title} onChange={handleChange}
                                   className="form-control" id="title"/>
                        </div>
                        <div className="form-group">
                            <label htmlFor="position">Body</label>
                            <input type="text" name='body' value={post.body}
                                   onChange={handleChange} className="form-control" id="body"/>
                        </div>
                        <button type="submit" className="btn btn-primary">Submit</button>
                    </form>
                </div>
            </div>
        </div>
    )
}

export default PostCreate;
import React,{useState,useffect}来自“React”;
从“axios”导入axios;
函数postreate(){
const[post,setPost]=useState({});
常量handleChange=({target})=>{
常量{name,value}=target;
setPost({…post[name]:value});
控制台日志(post);
};
const handleSubmit=async e=>{
e、 预防默认值();
const createData=async()=>{
试一试{
const response=等待axios.post(`https://jsonplaceholder.typicode.com/posts`, {
方法:“POST”,
正文:JSON.stringify({
标题:post.title,
body:post.body,
用户ID:1
}),
标题:{
“内容类型”:“应用程序/json;字符集=UTF-8”
}
})
.then(response=>response.json())
.then(json=>console.log(json));
控制台。警告(响应。数据);
}捕获(错误){
控制台。警告(错误);
}
};
createData();
};
返回(
标题
身体
提交
)
}
导出默认后创建;

你能试试这个例子吗,我调用了一个POST api调用。希望对你有帮助

请打开“网络”选项卡以检查呼叫后响应,然后您将在“网络”选项卡下获得成功响应

代码如下:

import React, {useState, useEffect} from 'react';
import axios from 'axios';

function PostCreate() {
    const [post, setPost] = useState({});

    const handleChange = ({target}) => {
        const {name, value} = target;
        setPost({...post, [name]: value});
        console.log(post);
    };

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

        const createData = async () => {
            try {
                const response = await axios.post(`https://jsonplaceholder.typicode.com/posts`, {
                    method: 'POST',
                    body: JSON.stringify({
                        title: post.title,
                        body: post.body,
                        userId: 1
                    }),
                    headers: {
                        "Content-type": "application/json; charset=UTF-8"
                    }
                })
                    .then(response => response.json())
                    .then(json => console.log(json));
                console.warn(response.data);
            } catch (error) {
                console.warn(error);
            }
        };
        createData();
    };
    return (
        <div className='container'>
            <div className='row'>
                <div className='col-4'>
                    <form onSubmit={handleSubmit}>
                        <div className="form-group">
                            <label htmlFor="name">Title</label>
                            <input type="text" name='title' value={post.title} onChange={handleChange}
                                   className="form-control" id="title"/>
                        </div>
                        <div className="form-group">
                            <label htmlFor="position">Body</label>
                            <input type="text" name='body' value={post.body}
                                   onChange={handleChange} className="form-control" id="body"/>
                        </div>
                        <button type="submit" className="btn btn-primary">Submit</button>
                    </form>
                </div>
            </div>
        </div>
    )
}

export default PostCreate;
import React,{useState,useffect}来自“React”;
从“axios”导入axios;
函数postreate(){
const[post,setPost]=useState({});
常量handleChange=({target})=>{
常量{name,value}=target;
setPost({…post[name]:value});
控制台日志(post);
};
const handleSubmit=async e=>{
e、 预防默认值();
const createData=async()=>{
试一试{
const response=等待axios.post(`https://jsonplaceholder.typicode.com/posts`, {
方法:“POST”,
正文:JSON.stringify({
标题:post.title,
body:post.body,
用户ID:1
}),
标题:{
“内容类型”:“应用程序/json;字符集=UTF-8”
}
})
.then(response=>response.json())
.then(json=>console.log(json));
控制台。警告(响应。数据);
}捕获(错误){
控制台。警告(错误);
}
};
createData();
};
返回(
标题
身体
提交
)
}
导出默认后创建;