🦓 XMLHttpRequestのサンプルコードを実装してみた②【POST通信に失敗】
作成日: 2021/12/19
2

背景

GET通信については、実装レベルで理解できてきたため、次はPOST通信を実装したい。

参考記事

・【JavaScript入門】Ajaxの使い方とGET・POST通信まとめ!
https://www.sejuku.net/blog/30245#XMLHttpRequestAjax

手順

上記GET通信の記述を参考に、POSTに書き換えた。(GETの場合、通信できた)
422エラーとなる。

    <script>
        let url = "https://api.github.com/search/repositories";
        let result = document.getElementById('result')

        let xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            xhr.addEventListener('load', function() {
                console.log(xhr.responseText)
            })
            xhr.addEventListener('error', function() {
                console.log('サーバーエラーが発生しました')
            })
        }
        xhr.open('post', url);
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')
        xhr.send('q=javascript')
    </script>

一言

・422エラーについて
https://developer.mozilla.org/ja/docs/Web/HTTP/Status/422

The HyperText Transfer Protocol (HTTP) の 422 Unprocessable Entity 応答状態コードは、サーバーが要求本文のコンテンツ型を理解でき、要求本文の構文が正しいものの、中に含まれている指示が処理できなかったことを表します。

・そもそもPOSTの概念を理解していない可能性あり
GETはデータ取得をリクエスト。
POSTはデータ送信をリクエスト。


事業会社にてコーダーをしています。制作は6年目。 インプットしたことをアウトプットしています。