【发布时间】:2015-10-03 19:10:15
【问题描述】:
这是一个通用的 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>
【问题讨论】:
-
需要从本地 Web 服务器 (http://) 而非
file://协议加载页面 -
有听起来无知的风险,但我该如何做到这一点?使用 node.js 或其他类型的服务器,然后提供页面?还是更简单的方法?
-
没错……还有一些非常轻量级的简单http服务器
标签: javascript jquery splunk