为什么我的ajax跨域GET返回错误

时间:2018-03-31 22:10:19

标签: jquery ajax

我尝试检索跨域图片网址的HTTP标头响应,如下所示:

        var image = "https://assets.bwbx.io/images/users/iqjWHBFdfxIU/izgwruSFWIvA/v1/1200x621.jpg"
        $.ajax({
           type: 'GET',
           crossDomain: true,
           headers: {  'Access-Control-Allow-Origin': image },
           dataType: 'jsonp',
           url: image,
           success: function(jsondata){
            console.log("Image is successful");
           },
           error: function(jsondata){
             console.log("Image is unsuccessful " + JSON.stringify(jsondata));
           }
        });

我确实得到了jsondata返回,但是它仍然遵循ajax请求的错误部分,尽管成功了。

Image is unsuccessful {"readyState":4,"status":200,"statusText":"success"}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

有几条评论,希望你能找到答案。

  • Access-Control-Allow-Origin是响应标头,而不是请求标头。在这种情况下,它将是由服务器返回图像设置的标头。有关此主题的更多信息,请参阅MDN CORS documentation
  • 您似乎在此响应中期待JSON,但您正在请求图像。您可能想在此重新考虑您的用例。
  • 您在评论中提到您正在尝试“测试是否允许跨域GET” - 我认为您的测试已证明不允许这样做。