flask 백 엔 드 + ajax 전단, 크로스 도 메 인 자원 으로 인 한 CORB 문 제 를 해결 합 니 다.
문제 설명: 크로스 필드 자원 이 CORB 를 일 으 킵 니 다.
해결 방안:
jsonp 크로스 도 메 인 문제 해결
전단 코드:
// , callback=jQuery30004159376653216822_1550582355513
function showData(data) {
console.info("Get Into showData");
// json
var result = JSON.stringify(data);
$("#text").val(result);
}
//
$(document).ready(function () {
$("#btn").click(function () {
$.ajax({
url: "http://localhost:8080/load/data",
type: "GET",
dataType: "jsonp", //
jsonpCallback: "showData", // success
jsonp: "callback", // callback
success: function (data) {
console.info("Get Into success");
// json
// var result = JSON.stringify(data);
// $("#text").val(result);
}
});
});
});
서버 코드:
def get_params():
result = {
"code": 0,
"info": " ",
"data": [],
}
if request.method == 'GET':
callback = request.args.get("callback")
......
resp = "%s%s%s%s" % (callback, '(', json.dumps(result), ')') // callback(json.dumps(result))
return resp
방안 해석: Jsonp 의 실현 원 리 는 바로 리 셋 함 수 를 만 든 다음 에 원 격 서비스 에서 이 함 수 를 호출 하고 JSON 데이터 형식 을 매개 변수 로 전달 하여 리 셋 을 완성 하 는 것 이다.상기 전단 코드 에서 리 셋 함수 callback 을 만 들 고 백 엔 드 코드 에서 함수 이름 을 얻 은 다음 에 전단 에 되 돌아 갈 때 원래 의 리 턴 데이터 와 리 턴 함 수 를 상기 형식 으로 연결 하여 리 셋 을 완성 해 야 합 니 다. 이때 전단 은 되 돌아 오 는 데 이 터 를 얻 을 수 있 고 크로스 도 메 인 문 제 를 완벽 하 게 해결 할 수 있 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.