programing

ajax jquery 단순 가져오기 요청

powerit 2023. 3. 19. 19:34
반응형

ajax jquery 단순 가져오기 요청

jquery ajax를 사용하여 다음과 같은 간단한 get 요청을 작성합니다.

$.ajax({
    url: "https://app.asana.com/-/api/0.1/workspaces/",
    type: 'GET',
    success: function(res) {
        console.log(res);
        alert(res);
    }
});

결과적으로 빈 문자열을 반환합니다.브라우저에서 이 링크로 이동하면 다음과 같이 표시됩니다.

{"status":401,"error":"Not Authorized"}

예상된 결과입니다.그럼 왜 에이잭스를 쓰면 안 되지? 고마워!

동일 도메인 및 동일 포트에서 로드된 애플리케이션에 AJAX 요청을 할 수 있습니다.

그것 말고도 더 넣으셔야 돼요.dataType JSON결과를 자동으로 역직렬화하려는 경우.

$.ajax({
        url: "https://app.asana.com/-/api/0.1/workspaces/",
        type: 'GET',
        dataType: 'json', // added data type
        success: function(res) {
            console.log(res);
            alert(res);
        }
    });

http://api.jquery.com/jQuery.ajax/

다른 도메인에 요청을 할 수 없기 때문에 교차 도메인 문제인 것 같습니다.

이 문제에 대한 해결책을 찾아야 합니다. - 프록시 스크립트를 사용하여 서버에서 실행 중이고 요청을 전송하고 요청을 브라우저로 보내는 응답을 처리합니다.또는 요청 중인 서비스에 JSONP 지원이 있어야 합니다.이것은 크로스 도메인 기술입니다.http://en.wikipedia.org/wiki/JSONP 를 참조해 주세요.

var dataString = "flag=fetchmediaaudio&id="+id;

$.ajax
({
  type: "POST",
  url: "ajax.php",
  data: dataString,
  success: function(html)
  {
     alert(html);
  }
});
var settings = {
        "async": true,
        "crossDomain": true,
        "url": "<your URL Here>",
        "method": "GET",
        "headers": {
            "content-type": "application/x-www-form-urlencoded"
        },
        "data": {
            "username": "user@company.com",
            "password": "12345678"
        }
    }

    $.ajax(settings).done(function (response) {
        console.log(response);
    });

문제는 당신의 경우 401 오류로 인해 요청이 끊겨서 성공적이지 못하기 때문에 성공 기능에 데이터가 없다는 것입니다.

사용한다면

$.ajax({
        url: "https://app.asana.com/-/api/0.1/workspaces/",
        type: 'GET',
         error: function (xhr, ajaxOptions, thrownError) {
    alert(xhr.status);
    alert(thrownError);
  }
    });

당신의 401 코드가 있을 것입니다(이 링크에 기재되어 있습니다).

언급URL : https://stackoverflow.com/questions/9269265/ajax-jquery-simple-get-request

반응형