【发布时间】:2020-11-24 14:41:47
【问题描述】:
我正在尝试将在前端 react js 部分创建的状态发送到后端 spring boot 部分并以 JSON 模式读取我的状态,我使用了 Axios 但我收到此错误:
请求失败,状态码 400
我的前端代码:
onSubmit(e){
e.preventDefault();
const FilterRegion={
//region
eu:this.state.eu,
americas:this.state.americas,
aae:this.state.aae,
ger:this.state.ger,
eu2:this.state.eu2,
latam : this.state.latam,
empty:this.state.empty,
allregion:this.state.allregion,
}
console.log(FilterRegion)
axios.get("http://localhost:8080/MenuFiltre/filtreregioncloser",FilterRegion)
}
后端控制器:
@Controller
@RequestMapping("/MenuFiltre")
@RestController
@CrossOrigin()
public class MenuFiltre {
@GetMapping("/filtreregioncloser")
public Iterable<Closerfprfx>gettab1(@RequestBody String jsonStr)
{
JSONObject jObject = new JSONObject(jsonStr);
System.out.println(jsonStr);
return null;
}
}
【问题讨论】:
-
尝试将 React 排除在等式之外,然后在
Postman中尝试。检查您的 url 在 React 和 Postman 匹配中是否匹配。我还将提供您的“filteredRegion”对象的外观。我不认为你可以像你一样传递你的对象。可能是错的,但由于您调用的是“get”方法,我原以为您必须使用 eu='a'&=americas='a'&=..... 传递一个字符串,也许它已被处理由 axios 自动执行,但我对此表示怀疑。其他人可能会证实这一点。 -
不建议使用 Get 和 body。您可以尝试在 react 和 spring-boot 中将 get 更改为 POST。
标签: json reactjs spring-boot axios