连接到cors启用了api和jquery

时间:2014-07-15 14:53:55

标签: jquery cors

我正在尝试连接(从localhost)到wallabee api(启用了cors)。但是我一直记录失败而没有错误。有人知道我做错了吗?

$(document).ready(function () {
$.ajax({
    type: 'GET',
    dataType: "json",

    url: 'http://api.wallab.ee/achievements',
    headers: {
        "X-WallaBee-API-Key":"53c526cc-3770-4255-a082-1ee80ad14847",
        "Access-Control-Allow-Origin:": "*"
},
    xhrFields: {
        withCredentials: true
    },

    success: function(data) {
        console.log('success');
    },
    error: function(data) {
        console.log("failure");
    }
});

3 个答案:

答案 0 :(得分:0)

这里有两件事:

  1. 您无法在ajax请求中设置Access-Control-Allow-Origin标头。服务器在响应中返回该标头以允许跨域访问。
  2. 在您的情况下,wallabee API似乎不是CORS启用。它没有返回飞行前OPTIONS请求中的任何CORS头。也许你需要要求它?

答案 1 :(得分:0)

我和wallabee api一直有同样的问题,我一直在寻找几个小时。 事实证明,问题不是api而是Chrome。

为我修复的是在没有网络安全的情况下启动Chrome。出于某种原因,chrome(和firefox)与cors + localhost的搭配并不好。不过,请不要问我详细解释。

  • Windows:在Chrome快捷方式目标的末尾添加--disable-web-security。
  • OSX:在终端中打开-a Google \ Chrome --args --disable-web-security。

答案 2 :(得分:0)

在没有网络安全功能的情况下,无法正常运行 既不在在线网络服务器上