Мне нужно отправить запрос API и получить ответ, который я затем записываю во внешний интерфейс в формате html как JSON (это первый шаг, синтаксический анализ таблицы - второй шаг). Я не образован в этой области, я перепробовал все, что нашел здесь, но всегда выдает ошибку «Не удалось загрузить ресурс: сервер ответил со статусом 405 (метод не разрешен)».
В API Tester ответ сервера правильный, поэтому я предполагаю, что сервер (которым я не управляю) настроен правильно.
Запрос выглядит так:
POST https://mmb.some-url.com:8082/api/calculators/hc/calculate
**Request**
HEADERS
Content-Type:application/json
Authorization:Bearer token-code-here
**BODY**
{
"product_id": "hc",
"dimensions": {
"length": 1111,
"standard_lengths": "yes"
},
"heating": {
"temp_water_in": 75,
"temp_water_out": 65,
"temp_room": 20
},
"cooling": {
"temp_water_in": 7,
"temp_water_out": 12,
"temp_room": 27,
"relative_humidity": 50
}
}
Ответ - это фрагмент кода JSON.
Мой код jQuery выглядит следующим образом:
<button type="button" class="btn">Load</button>
<p class="text">Text replaced by a response</p>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$('.btn').click(function () {
$('.text').text('Loading...');
jQuery.support.cors = true;
$.ajax({
url: 'https://mmb.some-url.com:8082/api/calculators/hc/calculate',
type: 'POST',
headers: {
'Content-type': 'application/json',
"Access-Control-Origin": "*",
'Authorization': 'Bearer token-code-here',
},
crossDomain: true,
dataType: 'jsonp',
data: JSON.stringify({
"product_id": "hc",
"dimensions": {
"length": 1111,
"standard_lengths": "yes"
},
"heating": {
"temp_water_in": 75,
"temp_water_out": 65,
"temp_room": 20
},
"cooling": {
"temp_water_in": 7,
"temp_water_out": 12,
"temp_room": 27,
"relative_humidity": 50
}
}),
success: function (data) {
$('.text').text(JSON.stringify(data));
}});
});
</script>
Что-то не так с моим кодом? Кто-нибудь может мне помочь?
Большое вам спасибо