【发布时间】:2017-07-24 04:46:27
【问题描述】:
我正在尝试使用在浏览器中运行的 jQuery 脚本将数据写入 Splunk。我的“inputs.conf”文件中已经包含以下内容:
crossOriginSharingPolicy = *
但是,我得到的错误是:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://myserver.myco.com:8088/services/collector/event.
(Reason: missing token 'content-type' in CORS header 'Access-Control-Allow-Headers' from CORS preflight channel).
我还没有找到从 Splunk 设置“Access-Control-Allow-Headers”的方法。
这是 JS 代码的 sn-p,虽然我不确定是否有必要显示它(注释行是我绝望地尝试过的东西,但它们没有任何区别):
var dfr = $.ajax({
url: config.endpoint,
method: 'post',
// headers: {
// "Access-Control-Allow-Origin" : "*",
// "Access-Control-Allow-Methods" : "GET,POST,PUT,DELETE,OPTIONS",
// "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
// },
// crossDomain: true,
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", header);
},
data: JSON.stringify({ event: post }),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
有什么建议吗?我是否需要通过代理访问 Splunk?
【问题讨论】:
标签: javascript jquery cors splunk