JQuery Ajax Post JSON - Ответ - PullRequest
       1

JQuery Ajax Post JSON - Ответ

1 голос
/ 21 октября 2019

Мне нужно отправить запрос 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>

Что-то не так с моим кодом? Кто-нибудь может мне помочь?

Большое вам спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...