Я создал шлюз API, который вызывает функцию лямбда-функции на AWS. Ссылка на GET это:AJAX, похоже, не может использовать GET AWS API Gateway даже при включенном CORS
https://z4eiy7g9n0.execute-api.us-east-1.amazonaws.com/test/rotation
Нажатие он должен возвращать число больше, чем 6000. Я хочу использовать JavaScript, чтобы получить API и мое понимание, что нужно использовать AJAX, чтобы сделать это. Итак, у меня есть следующие JavaScript (импортируя Jquery 3.1.1):
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url: "https://z4eiy7g9n0.execute-api.us-east-1.amazonaws.com/test/rotation",
headers: {"Content-Type": "text/json"},
type: "GET",
success: function() { alert('Success!'); }
});
});
});
Это не работает из-за поперечного происхождения материала и поэтому мое понимание мне нужно включить CORS. Итак, я выполнил инструкции в http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html. У меня есть
Access-Control-Allow-Origin*: '*'
Access-Control-Allow-Headers: 'Content-Type'
Мое понимание этого является то, что происхождение может быть любой домен и единственный заголовок, который должен быть включен «Content-Type». Однако, когда я нажимаю кнопку, чтобы вызвать это событие, я получаю следующую ошибку в консоли.
XMLHttpRequest не может загрузить https://z4eiy7g9n0.execute-api.us-east-1.amazonaws.com/test/rotation. Ответ на предполетный запрос не проходит проверку контроля доступа: Нет Заголовок «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе . Поэтому исходный адрес http: // **** 'не допускается. ответ был HTTP код статуса 403.
Теперь я могу вызвать API из R с помощью httr
пакета, так что я знаю, что это можно назвать, по крайней мере, в некоторых системах.
Что я делаю неправильно с моим запросом AJAX или с моим API?