Ajax请求的CORS错误

xen*_*urs 7 javascript ajax cross-domain

我在ajax中执行此请求,但是我仍然遇到以下有关CORS的错误:XMLHttpRequest无法加载https://cubber.zendesk.com/api/v2/organizations/37520251/users.json。在飞行前响应中,Access-Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin。您能帮我吗(我看过很多话题,但我仍然不明白为什么它不起作用

 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);
          }
        })
    }
Run Code Online (Sandbox Code Playgroud)

Pau*_*ald 8

你可以通过使用来解决这个问题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);
          }
      })
}
Run Code Online (Sandbox Code Playgroud)

  • 好吧,这删除了我关于跨源的错误,但我的请求 API 不接受“jsonp”,因此我无法使用它 (4认同)
  • 数据类型“jsonp”即使在进行正确的身份验证后也会给出 401 未授权错误。有什么办法解决这个问题吗? (4认同)