JSON 응답을 구문 분석 할 수 없습니다 코드에서 나타난 바와 같이Ajax 요청이 내가 여기에 코드를 테스트하고
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
var processJSON = function(data, textStatus, xhr) {
alert(xhr.status);
}
// for whatever reason, the following URL is not working any more, so you won't be able to test it anymore.
var myURL='https://ckeqt3eoea.execute-api.us-east-1.amazonaws.com/pettest/test?name=223';
// var myURL="https://jsonplaceholder.typicode.com/users"
$("button").click(function(){
$.ajax({
url: myURL,
dataType: "json",
contentType: 'application/json',
success: processJSON
});
});
});
</script>
</head>
<body>
<button>Send Request</button>
</body>
</html>
을, 나는 구문 분석을 시도하고있다 이 URL의 응답 : https://ckeqt3eoea.execute-api.us-east-1.amazonaws.com/pettest/test?name=223
그리고 직접 해당 URL로 이동하여 AWS-API-Gateway
의 응답이 단순히 것을 찾을 수 있습니다
{
"cc":"dd",
"name":"ee"
}
위의 자바 스크립트를 사용하여 다른 소스의 다른 json
응답을 구문 분석 할 수있었습니다. 그러나 나는 위의 응답을 AWS-API-Gateway
에서 파싱하려고 애 쓰고있다. var myURL
의 두 번째 줄의 주석 처리를 제거하면 코드가 다른 URL에서 실제로 작동하는 것을 볼 수 있습니다. 기존 답변에 대한 응답으로
==========
는 :
- 나는
json
과jsonp
모두를 시도했다. 둘 다 다른 URL (내가 언급 한 URL 포함)에서 작동했습니다. 그러나 어느 것도 AWS Gateway API에서 작동하지 않습니다. - 또한 명명 된 함수를 사용하도록 코드를 업데이트했습니다. 그러나 다시, 다른 URL에서는 작동하지만 AWS URL에서는 작동하지 않습니다.
- Firefox 및 Safari에서 테스트했습니다.
API가 현재 CORS를 지원하도록 구성되지 않았으므로 URL을 직접 입력하면 브라우저에 JSON이 인쇄되지만 다른 클라이언트 응용 프로그램에서 서버로 요청하면 요청이 거부되어 아무 것도 얻을 수 없다는 것을 설명합니다. 귀하의 데이터 개체입니다. AWS에서 CORS – Alex