SpringBoot 는 AJAX 를 통 해 매개 변 수 를 가 져 오 는 방식 List 집합
GET 와 POST 방식 은 제 가 생각 할 수 있 는 모든 조합 을 테스트 하면 서 GET 는 List 가 없 는 JSON 데이터 만 전달 할 수 있다 는 것 을 알 게 되 었 습 니 다.
POST 에는 제한 이 없다.
전단:
var json={username:"zangsan",password:"123456",favs:["football","running"]}
console.log(encodeURI((JSON.stringify(json))));
$.ajax({
url: 'test1',
type: "GET",
traditional:true,
data: json,
success: function (data) {
},contentType: "application/json;charset=UTF-8"
});
json={username:"zangsan",password:"123456",favs:["football","running"],friends:[{name:"ho",age:10},{name:"zz",age:12}]}
$.ajax({
url: 'test2',
type: "POST",
data: JSON.stringify(json),
success: function (data) {
},
contentType: "application/json;charset=UTF-8"
});
주의 점:
1) GET 요청 은 JSON 문자열 이 아 닙 니 다. jquery 는 url 요청 인자 로 전 환 됩 니 다.
2) traditonal: true 를 절약 할 수 없습니다. 이것 은 브 라 우 저가 집합 매개 변 수 를 'favs []' 라 고 부 르 는 것 을 방지 하 는 것 입 니 다. 이렇게 하면 배경 이 잘못 보 고 됩 니 다.
3) POST 가 요청 한 JSON. stringify 는 생략 할 수 없습니다
4) contentType 에 대해 서 는 모두 절약 할 수 없다 고 말 하지만, 나 는 생략 할 수 있다 는 것 을 발견 했다 (chrome 브 라 우 저 테스트)
자바 배경
/**
* GET , json,
* @param users
*/
@GetMapping("/test1")
@ResponseBody
public void test1( User user){
System.out.println(user.getUsername());
System.out.println(user.getFavs());
System.out.println(user.getFriends());
}
/**
* post JSON
* @param users
*/
@PostMapping("/test2")
@ResponseBody
public void test2(@RequestBody User user){
System.out.println(user.getUsername());
System.out.println(user.getFavs());
System.out.println(user.getFriends());
}
public class Friends {
public String name;
public Integer age;
}
public class User {
public String username;
public String password;
private List favs;
private List friends;
}
주의 점:
1) GET 는 일반 매개 변수 가 져 오 는 방식 으로 가 져 옵 니 다. 여기 에는 주의 할 주해 가 없습니다. 그러나 @ ResponseBody 는 절약 할 수 없습니다. 이것 은 ajax 가 처리 해 야 할 일 을 요청 하 는 것 입 니 다. @ RequestBody 는 추가 하지 마 십시오. 추가 하면 이상 을 버 릴 수 있 습 니 다.
2) POST 여기 @ RequestBody 필수
여기 서 변 한 문 제 는 jquery 의 ajax 방식 으로 ajax 요청 데 이 터 를 전달 하 는 형식 을 알 아야 한 다 는 것 이 라 고 생각 합 니 다.
그리고 SpringMVC 의 ajax 요청 매개 변수 처리 문 제 를 연구 하고 제거 하려 면 소스 코드 를 봐 야 합 니 다.나중에 시간 나 면 해.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.