Reactjs Axios适用于GET,但不适用于';不适用于POST和DELETE?
我有一个问题让我很困惑。我在React中创建了web应用程序,在Mulesoft 4中创建了RESTAPI。由于我无法解决的CORS问题,我在package.json文件中添加了代理,所有操作都与GET请求配合良好。但现在,我正在尝试执行POST或DELETE请求,但它不起作用。实际上,当我尝试在后端调试时,它并没有“命中”我的API路由。下面我将向你展示我的代码,所以我希望你能帮助我 这是我的package.json文件: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
{
"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();
};
返回(
标题
身体
提交
)
}
导出默认后创建;