예기치 않은 토큰 콜론: jQuery.ajax에서 JSONP 오류 해결#get
jQuery.ajax에서 "예기치 않은 토큰 콜론" 오류가 발생하는 경우 #get, JSONP(JSON with Padding) 요청의 특성을 이해하는 것이 중요합니다. JSONP에는 JSON 데이터를 클라이언트 측의 전역 JavaScript 함수 호출로 다시 보내는 작업이 포함됩니다.
JSONP를 지원하려면 서버가 응답에 "패딩"을 포함해야 합니다. "패딩"은 콜백 함수 이름과 괄호로 묶인 JSON 데이터로 구성됩니다. ]
이 예에서 콜백 함수 이름은 jQuery111108398571682628244_1403193212453입니다. 이 오류는 JavaScript가 JSONP를 JavaScript로 구문 분석하기 때문에 발생합니다. 여기서 {...}는 블록도 나타냅니다.jQuery111108398571682628244_1403193212453({"Name":"Tom","Description":"Hello it's me!"})이 오류를 수정하려면 서버가 응답에 "Padding"을 포함해야 합니다. 또한 jQuery에는 일반적으로 함수 이름과 함께 콜백 쿼리 문자열 매개 변수가 포함됩니다. 이를 수용하기 위해 서버 코드는 조건문을 사용하여 콜백 매개변수를 확인하고 그에 따라 응답을 보낼 수 있습니다.var callback = req.query.callback; var 데이터 = JSON.stringify({ 이름 : "톰", 설명 : "안녕하세요 나예요!" }); if (콜백) { res.setHeader('Content-Type', 'text/javascript'); res.end(콜백 '(' 데이터 ')'); } 또 다른 { res.setHeader('Content-Type', 'application/json'); res.end(데이터); }또는 ExpressJS는 이 조건을 이미 처리하는 res.jsonp() 메서드를 제공하여 JSONP 응답을 더 쉽게 반환할 수 있도록 합니다.
jQuery111108398571682628244_1403193212453({"Name":"Tom","Description":"Hello it's me!"})app.get( '/', function( req, 입술) { console.log( '요청 수신됨' ); res.jsonp({ 이름 : "톰", 설명 : "안녕하세요 나예요!" }); });
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3