繁体   English   中英

跨源请求仅支持协议方案:http

[英]Cross origin requests are only supported for protocol schemes: http

这是一个通用的 JavaScript 问题,但它会在使用 Splunk JavaScript SDK 的代码中弹出...错误是:

XMLHttpRequest 无法加载 file:///C:/proxy/services/auth/login?output_mode=json。 跨源请求仅支持以下协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。 jquery.min.js:4

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript" src="json2.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="prettify.js"></script>
<script type="text/javascript" src="bootstrap.tabs.js"></script>
<script type="text/javascript" src="bootstrap.dropdown.js"></script>
<script type="text/javascript" src="jquery.placeholder.min.js"></script>
<script type="text/javascript" src="splunk.js"></script>

<script type="text/javascript" charset="utf-8">
console.log('a');
var http = new splunkjs.ProxyHttp("/proxy");
var service = new splunkjs.Service(http, {
    username: "admin",
    password: "Moravac123223",
    scheme: "https",
    host: "localhost",
    port: "8089",
    version: "5.0"
});
 console.log('b');
// First, we log in
service.login(function(err, success) {
    // We check for both errors in the connection as well
    // as if the login itself failed.
    if (err || !success) {
        console.log("Login failure. Please check your server hostname and authentication credentials.");
        done(err || "Login failed");
        return;
    } 

    // Now that we're logged in, let's get a listing of all the apps.
    service.apps().fetch(function(err, apps) {
        if (err) {
            console.log("There was an error retrieving the list of applications:", err);
            done(err);
            return;
        }

        var appsList = apps.list();
        console.log("Applications:");
        for(var i = 0; i < appsList.length; i++) {
            var app = appsList[i];
            console.log("  App " + i + ": " + app.name);
        } 

        done();
    });
});
</script>
</body>
</html>

我同意 Charlietfl。 如果你有 apache 和/或 IIS,它应该是一个非常快速的测试来验证它是否修复了它。

如果您是网络服务器的新手,请不要担心他们有像Xampp这样的应用程序,可以从一个可执行文件设置您的整个 LAMP 堆栈。

由于您正在对自己的服务器进行身份验证,因此您可能(不会)遇到这种情况,但是我在运行本地 RESTful 应用程序时遇到了麻烦,并且在等待您在后端使用的内容时,我需要执行以下操作: setHeader('Access -Control-Allow-Origin', '*'); 到我的回复标题。

显然,如果您决定创建某种企业级 Web 服务,您不会想要这样的东西,但对于本地测试,这通常会绕过我遇到的随机 CORS 问题。

祝你的网络应用程序好运!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM