web-dev-qa-db-ja.com

ajaxリクエストでのCORSエラー

私はajaxでこのリクエストを実行していますが、CORSについて次のエラーがまだあります:XMLHttpRequest cannot load https://cubber.zendesk.com/api/v2/organizations/37520251/users.json 。リクエストヘッダーフィールドAccess-Control-Allow-Originは、プリフライトレスポンスのAccess-Control-Allow-Headersでは許可されていません。あなたは私を助けてくれますか(私は多くのトピックを見てきましたが、それがなぜうまくいかないのかまだわかりません

 function afficheorga(a){
      $.ajax({
          url: "https://cubber.zendesk.com/api/v2/users/"+a+"/organizations.json",
          type: 'GET',
          dataType: 'json',
          cors: true ,
          contentType:'application/json',
          secure: true,
                    headers: {
                        'Access-Control-Allow-Origin': '*',
                    },
          beforeSend: function (xhr) {
              xhr.setRequestHeader ("Authorization", "Basic " + btoa(""));
          },
          success: function (data){
            console.log(data.organizations[0].name);
            var organisation = data.organizations[0].name;
            $("#company").text(organisation);
          }
        })
    }
7
xenurs

jsonpを使用すると、これを回避できます。 dataTypejsonpに変更すると、GETリクエストは次のようになります

function afficheorga(a){
      $.ajax({
          url: "https://cubber.zendesk.com/api/v2/users/"+a+"/organizations.json",
          type: 'GET',
          dataType: 'jsonp',
          cors: true ,
          contentType:'application/json',
          secure: true,
          headers: {
            'Access-Control-Allow-Origin': '*',
          },
          beforeSend: function (xhr) {
            xhr.setRequestHeader ("Authorization", "Basic " + btoa(""));
          },
          success: function (data){
            console.log(data.organizations[0].name);
            var organisation = data.organizations[0].name;
            $("#company").text(organisation);
          }
      })
}
4
Paul Fitzgerald