Работа с GitHub API для конвертации markdown в HTML через JavaScript

Проблема с преобразованием markdown текста в HTML

Пытаюсь отправить текст на API GitHub для получения HTML версии markdown документа, но постоянно получаю ошибку.

Вот мой текущий код:

$.post({
    method: "POST",
    responseType: "json",
    cache: false,
    endpoint: "https://api.github.com/markdown/raw",
    payload: {
        "content": $('#markdown_input').text()
    },
    onSuccess: function(response){
        console.log("Запрос выполнен!");
        console.log(response);
    }, 
    onError: function(xhr, status, errorMsg){
        console.log(xhr, status, errorMsg);
    }
});

В результате всегда срабатывает функция onError. Не могу понять в чем дело. Может кто-то сталкивался с подобной проблемой при работе с GitHub API? Буду благодарен за любые советы по исправлению этой ошибки.

А ты проверял в консоли разработчика что именно возвращает $(‘#markdown_input’).text()? Может там пустая строка или что-то не то. И еще - попробуй сначала простой GET запрос к GitHub API сделать, чтобы убедиться что вообще соединение работает. Какую именно ошибку показывает в xhr?

Смотри, тут еще одна штука - ты используешь endpoint вместо url в параметрах. jQuery такой параметр не понимает, поэтому запрос вообще никуда не уходит. Попробуй замнить на обычный url: "https://api.github.com/markdown/raw". И да, согласен с предыдущим комментом про Content-Type - GitHub API реально ждет plain text, а не JSON. У меня похожая проблема была пару месяцев назад, решилось именно заменой параметров и правильным форматом данных.

У тебя проблема с самим запросом - $.post не принимает такие параметры. Попробуй через обычный $.ajax или fetch. Плюс GitHub API для markdown ожидает raw текст в теле запроса, а не JSON объект. Должно быть что-то типа fetch('https://api.github.com/markdown/raw', {method: 'POST', headers: {'Content-Type': 'text/plain'}, body: $('#markdown_input').text()}). Еще учти что GitHub может требовать токен авторизации для некоторых запросов.