Springboot 크로스 필드 ajax jsonp 요청
org.springframework.boot
spring-boot-starter-web
@SuppressWarnings("deprecation")
@Configuration
public class CorsFilter extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedHeaders()
// ,
.allowedMethods("*")
//
.allowedOrigins("*")
// Cookie。 Cookie CORS 。 true ,Cookie 。
.allowCredentials(true)
// 。 , , ,
.maxAge(3600);
}
}
@SpringBootApplication
@ComponentScan
public class CorsDemoApplication {
public static void main(String[] args) {
SpringApplication.run(CorsDemoApplication.class, args);
}
}
@Controller
@RequestMapping("/cors")
public class CorsController {
@RequestMapping(value="/index")
@ResponseBody
public String corsTest(HttpServletRequest request,String name,String age) {
String jsonpCallback = request.getParameter("callback");
Map map=new HashMap<>();
map.put("name",name);
map.put("age",age);
map.put("date",new Date());
return jsonpCallback + "(" + JSON.toJSONString(map) + ")";
}
}
Ajax 요청:
$.ajax({
url:"http://62.234.65.61:8090/cors/index",
type:"POST",
data:{
"name":"amdin",
"age":20
},
dataType:"jsonp",
/* jsonp: "callback",// , jsonp ( :callback)
jsonpCallback:"callback",// jsonp , jQuery , "?",jQuery */
success: function(data){
console.log("res:"+JSON.stringify(data));
},
error: function(){
alert('fail');
}
});
요약:
테스트 1: 프론트 + 백 스테이지 로 컬 실행, IP 같은 포트 가 다 릅 니 다. 테스트 결과: res: {"date": 1560913652938, "name": "amdin", "age": "20"}
테스트 2: 전단 로 컬 실행, 배경 은 텐 센트 클 라 우 드 서버 에 놓 습 니 다. 테스트 결과: res: {"date": 1560913652938, "name": "amdin", "age": "20"}
크로스 필드 요청 을 완료 하고 반환 값 을 성공 적 으로 가 져 올 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.