2017-12-08 3 views
1

AWS에 Lambda 함수가 있고 Python 3.6으로 작성되었습니다. 내 API를 배포하고 모든 리소스에 CORS를 사용하도록 설정했습니다. 테스트 할 때 AWS API 게이트웨이의 POST가 정상적으로 작동합니다. Postman에서 시도 할 때 성공하지만 시도 할 때 html은 내 S3 버킷에서 호스팅되어 작동하지 않습니다! 나는 POST 요청과 같이 만들려고 :HTML에서 API 게이트웨이를 통해 Python Lambda 함수에 POST 요청 보내기

$.ajax({ 
    type: 'POST', 
    url: 'https://xxxxxxx.execute-api.us-east-1.amazonaws.com/dev/myapp', 
    data: '{"fName":"jonas","lName": "Hoda", " Email":"[email protected]", "Age": 45, "Hight": 190, "Income": 120000}', 
    success: function(data) { alert('data: ' + data); }, 
    contentType: "application/json", 
    dataType: 'json' 
}); 

하지만 동일한 응답을 받고 계속 : 없음 '액세스 - 제어 - 허용 - 원산지'헤더는 요청 된 자원에 존재합니다. 따라서 원점 'http://app.my-real-domain.com'은 액세스가 허용되지 않습니다. 응답의 HTTP 상태 코드는 400입니다.

그 밖의 다른 작업은 무엇입니까? API 또는 파이썬 함수에서 무언가를 편집해야합니까? 기쁘게 도와 드리겠습니다. 미리 감사드립니다 ...

+0

CORS가 활성화되어 있지 않은 것 같습니다. CORS를 활성화 한 후 API를 재배포 했습니까? –

+0

응답을 주셔서 감사합니다. 물론 CORS를 활성화 한 후에 다시 배포했습니다 ... 실제로 많은 시간을 재배포했으며 CORS가 사용 가능하고 모든 것이 정상이지만 여전히 동일하다는 것을 확인하기 위해 매번 헤더를 검사합니다 오류 –

+0

당신은 람다 프록시 통합을 사용하고 있습니까? – dashmug

답변

1

확인 해결책을 찾았습니다! 먼저 여기에있는 모든 아이디어를 시도했지만 아무 것도 작동하지 않았습니다. 실제로 대부분 프로젝트 프로젝트에 적용되었습니다. 문제가 API에 있는지 또는 시도했는지 확인하려고 했으므로 요청에 따라 요청 검사기를 사용하지 않도록 설정했습니다. API-Gateway에서 갑자기 작동했습니다. 게시물 요청이 오류없이 잘 돌아 갔고 람다 백엔드에서 Dynamo DB에 데이터를 저장하고 올바른 모델을 반환하여 모델 스키마를 API 게이트웨이에서 편집하고 '필수'를 제거했습니다. '부분과 다시 적용한 그리고 지금은 모두 OK입니다! 왜이 문제가 내가 특별히 검토 한 문제를 해결했는지 모르겠다 매개 변수가 수십 번 있고 오른쪽을 사용하여 전달 중임 이름 및 유형 .. 어쨌든 다른 누구 에게든이 문제가있는 경우이 정보를 공유하고 싶습니다. 감사합니다. 누구든지 나를 도우 려했기 때문에 ...