>  기사  >  웹 프론트엔드  >  JS 크로스 도메인 처리에 대한 자세한 설명

JS 크로스 도메인 처리에 대한 자세한 설명

小云云
小云云원래의
2018-03-26 15:33:051446검색

이 글은 주로 JS 크로스 도메인 처리에 대한 자세한 설명을 공유합니다. Jsonp를 사용하여 JS의 크로스 도메인 문제를 해결할 수 있기를 바랍니다.

Js는 도메인 전체에 걸쳐 데이터를 요청할 수 없습니다.

교차 도메인이란 무엇입니까?

1. 도메인 이름이 다릅니다

2. 도메인 이름은 같지만 포트가 다릅니다.

js의 도메인 간 문제를 해결하려면 Jsonp를 사용하고 js 기능을 사용하여 도메인 간 요청을 우회할 수 있습니다. Js는 도메인 전체에서 js 파일을 로드할 수 있습니다.

설계도:


구현 방법:

Ajax(반드시 dataType을 추가하세요):

$.ajax({
    url : "http://localhost:8088/user/token/" + _ticket,
    dataType : "jsonp",    type : "GET",    success : function(data){        //回调函数    }
});

봄에는 조심하세요. 장소:

@RequestMapping(value="/user/token/{token}", produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
    public String getUserByToken(@PathVariable String token, String callback) {
    //请求参数中要含 callback 方法名
    //把结果封装成一个js语句响应    return callback + "(" + result + ");";
}

또 다른 작성 방법이 있습니다: presents="application/json;charset=utf-8"

프로젝트에 사용된 Spring이 4.1 이후 버전이라면 사용 가능합니다. 메서드:

MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);

mappingJacksonValue.setJsonpFunction(callback );

handler return 유형은 다음과 같습니다. 객체 유형으로 변경됩니다.

위 내용은 JS 크로스 도메인 처리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.