У меня проблема с простой веб-страницей на javascript, размещенной на AWS S3, которая создает HTTP-шлюз POST - AWS API с использованием ajax.
Я могу сделать звонок, используя curl с успехом:
curl -X POST -H "Content-Type: application/json" https://xxxx.execute-api.eu-west-1.amazonaws.com/dev/ankieta --data @data.json
файл data.json:
{ "imie": "jasiu",
"ocena": "6",
"opinia": "niezle"
}
Мой код JavaScript выглядит следующим образом.
<html>
<body>
<title>Ankieta</title>
<h1>Wypelnik ankiete</h1>
<button type="button" onclick="uruchom()">JSON</button>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
function uruchom() {
var resultDiv = $("#resultDivContainer");
var myData = {"imie": "Michal"};
$.ajax({
url: "https://xxxx.execute-api.eu-west-1.amazonaws.com/dev/ankieta",
type: "POST",
data: JSON.stringify(myData),
crossDomain: true,
contentType: "application/json",
dataType: 'jsonp',
headers: {
"Access-Control-Allow-Origin": "*"
},
success: function () {
alert("ok");
},
error: function() {
alert("zonk");
}
});
};
</script>
</body>
</html>
Это ошибка, которую я получаю от веб-отладки:
GET https://xxxx.execute-api.eu-west-1.amazonaws.com/dev/ankieta?callback=jQuery17203000220305941388_1546897907447&{%22imie%22:%22Michal%22}&_=1546897908872 net::ERR_ABORTED 400
Похоже, что есть проблема с обратным вызовом и в URL меняются мои данные из тела. В моем случае я не хочу проверять всякий раз, когда обратный вызов в порядке - хочу просто POST-данные.
Спасибо за любые предложения.