相关疑难解决方法(0)

请求标头字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin

当我尝试加载我的网页时出现以下错误:请求标题字段Access-Control-Allow-Origin在预检响应中不允许使用Access-Control-Allow-Origin.

我已经查看了回答此问题的其他答案,并指出缺少CORS支持.令人困惑的是我得到了支持!至少我想我做到了.

我正在尝试将Zingchart连接到我的Angular JS前端并使用AJAX请求从我的REST API获取数据(在localhost:3000)

这是我的AJAX调用:

window.feed = function(callback) {
    $.ajax({
        type: "GET",
        dataType: "json",
        headers: {
            Accept: "application/json",
            "Access-Control-Allow-Origin": "*"
        },
        url: "http://localhost:3000/readings",
        success: function (data) {
            var mem = data.mem.size/10000;
            var tick = {
                plot0: parseInt(mem)
            };
            callback(JSON.stringify(tick));
        }
    });
Run Code Online (Sandbox Code Playgroud)

我的REST API实现包括以下内容:

 // CORS Support
 app.use(function(req, res, next) {
   res.header('Access-Control-Allow-Origin', '*');
   res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
   res.header('Access-Control-Allow-Headers', 'Content-Type');
   next();
 });
Run Code Online (Sandbox Code Playgroud)

我的REST API是在本教程的帮助下构建的:https://www.youtube.com/watch?v = OhPFgqHz68o

ajax rest cors angularjs zingchart

5
推荐指数
1
解决办法
3934
查看次数

预检的响应具有无效的HTTP状态代码:401 angular

使用angular和Spring Boot,我们正在尝试为我们的服务添加身份验证,但出于某种原因,我们无法"打开"并从我们知道工作的URL中获取数据

角度:

this.getMismatches = function () {
    return $http({
            "async": true,
            "crossDomain": true,
            "url": GLOBALS.mismatchUrl,
            "method": "GET",
            "headers": {
                "authorization": "Basic YWRtaW46USNROawdNmY3UWhxQDlQA1VoKzU="
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

(目前登录令牌是硬编码的,用于测试目的)

休息服务:

@CrossOrigin(origins = "*")
@RequestMapping("/api/mismatch")
public List<Mismatch> home() {
    return service.getAll();
}
Run Code Online (Sandbox Code Playgroud)

CrossOrigin =*应该处理CORS问题,但这个失败的URL调用真的很奇怪.

我们尝试过的额外的东西:

'Access-Control-Allow-Methods', 'GET, POST, OPTIONS'
'Access-Control-Allow-Origin', '*'
'Content-Type', json plaintext jsonp etc

App.js:
    $httpProvider.defaults.headers.common = {};
    $httpProvider.defaults.headers.post = {};
    $httpProvider.defaults.headers.put = {};
    $httpProvider.defaults.headers.patch = {};
Run Code Online (Sandbox Code Playgroud)

javascript java angularjs spring-boot

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×2

ajax ×1

cors ×1

java ×1

javascript ×1

rest ×1

spring-boot ×1

zingchart ×1