취업/CodeIgniter

[ci4] 제이쿼리 ajax XMLHttpRequest 통신하기.

카슈밀 2022. 6. 21. 11:02
반응형
function handleCredentialResponse(response) {
        const responsePayload = parseJwt(response.credential);
        $.ajax({
            url: "컨트롤러",
            data: "token="+ response.credential,
            type: 'POST',
            dataType: 'text',
            headers: {
                'X-Requested-With': 'XMLHttpRequest',
                "content-type": 'application/x-www-form-urlencoded',
            },
            processData: false,
        })
        .done(function(res) {
            if(res == 'Y') {
                location.reload();
                return;
            } else {
                alert('구글 로그인 실패');
                return;
            }
        })
        .fail(function(e) {
            console.log(e);
        });
    }
XMLHttpRequest로 통신 시도시 객체로 보내면 이상하게 object로 변환되서 보내진다.
별 수 없이, =을 붙였더니 제대로 보내지더라.
var xhr = new XMLHttpRequest();
      xhr.open('GET',
          'https://www.googleapis.com/drive/v3/about?fields=user&' +
          'access_token=' + params['access_token']);
      xhr.onreadystatechange = function (e) {
        if (xhr.readyState === 4 && xhr.status === 200) {
          console.log(xhr.response);
        } else if (xhr.readyState === 4 && xhr.status === 401) {
          // Token invalid, so prompt for user permission.
          oauth2SignIn();
        }
      };
      xhr.send(null);

일반적인 xhr 요청방식 

728x90