JSONP를 사용하여 교차 도메인 AJAX 요청을 호출합니다. 이제는 CORS를 사용하여 작동하도록 할 수 있습니다. 하지만, 왜 JSONP가 발생하지 않는지 알고 싶습니다. 비슷한 문제가있는 다른 스레드를 보았지만 내 경우에는 작동하지 않는 이유를 알지 못했습니다. 여기 유효한 JSON 출력 JSONP 구문 분석 오류
코드입니다 : 데이터가 채워집니다 지금$.ajax({
type: "GET",
url: http://XXXX:8000/sap/bc/test_rest/jsonp_test?mode=S&ticket=123,
dataType: "jsonp",
jsonp: false,
jsonpCallback: "myJsonMethod",
success: function (data) {
alert(data);
},
error: function (httpReq, status, exception) {
alert(status + " " + exception);
}
});
, 이것은 내 서버를 호출하고 난 경고 콜백 URL에 "
구문 분석 오류 myJSONMethod가 호출되지 않은"얻을
http://xxxx:8000/sap/bc/test_rest/jsonp_test?mode=S&ticket=123&_=1470322282936
예기치 토큰 :
또한 콘솔 난 구문 에러로 처리되지 않는 오류 응답 구조는 :
{"ROOT":{"CONTRACT":"40002356","ITEM":"000010","KUNNR":"0000004676","NAME":"REALTY EXECUTIVES","NET_PRICE":19.95,"GROSS_PRICE":19.95,"MATNR":"144","SQFEET":""}}
jsonlint에서이 JSON 출력을 실행할 때 올바른 JSON이라고 표시됩니다. JSON이 어디서 엉망이되는지 모르겠습니다.
같은 잘못을 던질 것인가? – Venky
당신은 myJsonMethod (... yourSShere ...)에서 json을 래핑해야합니다. 즉, JSONP – Maxx
유효한 JSON은 유효한 JSONP와 다른 것은 아닙니다. 이것이 문제입니다. JSON을 JSONP API처럼 반환하는 API를 사용하려고 시도하고 있습니다. 간단히 작동하지 않습니다. – Pointy