Послать дискорд дискеты без jQuery - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь отправить несогласованное сообщение через webhook без jQuery.Я пробовал следующее:

var sendWebhook = new XMLHttpRequest()

            sendWebhook.open("POST", $("webhook")[0].value)
            sendWebhook.onload = function() {
                if(sendWebhook.status === 200) {
                    Leaderboard.sendMessage("Webhook sent!")
                } else {
                    Leaderboard.sendMessage("Failed sending webhook...")
                }
            }
            sendWebhook.send({
                data: JSON.stringify({
                    content: "hi",
                    username: "hello",
                    avatar_url: ""
                })
            })

и так много других способов, но это всегда терпело неудачу!В чем проблема?Спасибо !!

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

Короткая, не объектно-ориентированная версия:

    function discord_message(webHookURL, message) {
        var xhr = new XMLHttpRequest();
        xhr.open("POST", webHookURL, true);
        xhr.setRequestHeader('Content-Type', 'application/json');
        xhr.send(JSON.stringify({
            'content': message,
            'username':'AI',
        }));
    }
0 голосов
/ 11 декабря 2018

Внутри вашего .send попробуйте не создавать объект с данными, просто передайте функцию JSON.stringify:

sendWebhook.send(JSON.stringify({
                    content: "hi",
                    username: "hello",
                    avatar_url: ""
                })
            )

Если вы посмотрите на свои devtools в любом браузере, в котором вы тестируете, вы можетепосмотрите, как полезная нагрузка отправляется на вкладке «Сеть», и полезная нагрузка вашего запроса, если она у вас есть, является объектом JavaScript, который XmlHttpRequest не может расшифровать.

...