도메인 간 문제 해결 방법(JSONP 편)
1. 크로스 도메인이란 무엇입니까?
도메인 간, 즉 도메인 이름, 포트 번호, 프로토콜 등이 다르면 접근에 도메인 간 문제가 발생할 수 있다
2. JSON이 도메인 간 해결
eg1:localhost:8081에서localhost:8082/index/demo에 접근
script 탭으로 크로스 문제 해결
// :8081
/* */
/* :ShowMessage( {"info":"requestSuccess"} )*/
function ShowMessage(data) {
console.log(data.info)
}
/* head script, */
function demoFunc() {
var ele=document.createElement("script");
ele.type='text/javascript';
ele.src="http://localhost:8082/index/demo?callback=ShowMessage";
$('head').append(ele)
}
/* */
function demoFunc(){
$('head').append("<script src='http://localhost:8082/index/demo?callback=ShowMessage'> <\/script>") /* ‘\’ */
}
// :8082
@Controller
@RequestMapping("/index")
public class IndexController {
@RequestMapping("/demo")
@ResponseBody
public String demo(@RequestParam("callback") String callback){
String jsonData="{\"info\":\"RequestSuccess\"}";
String resInfo=callback+"("+jsonData+")";
return resInfo;
}
// : ( * json * )
}
클라이언트가 aax 요청을 사용합니다
function demoFunc() {
$.ajax({
url:'http://localhost:8082/index/demo',
type:'get',
dataType:'jsonp', //
jsonp:'callback', // callback ?callback=ShowMessage
jsonpCallback:'ShowMessage', //
success:function (data) {
console.log("success")
}
})
}
주의: jsonp는post방법을 지원하지 않기 때문에 폼 등 일부 상황에서 jsonp를 사용할 수 없습니다. 즉, 다음에 CORS의 해결 방법을 설명할 것입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.