Tibco Spotfire基本身份验证与跨域ajax调用
我正在使用对Spotfire服务器的跨域ajax调用创建客户端会话。对于身份验证,我使用基本身份验证方法。当我通过邮递员通过Tibco Spotfire基本身份验证与跨域ajax调用,ajax,cross-domain,basic-authentication,spotfire,Ajax,Cross Domain,Basic Authentication,Spotfire,我正在使用对Spotfire服务器的跨域ajax调用创建客户端会话。对于身份验证,我使用基本身份验证方法。当我通过邮递员通过授权标题和值'Basic'+btoa('user:password')发出请求时,它会发送正确的标题并启动一个新会话,而在web浏览器中,它会将错误显示为 NetworkError:不允许使用405方法- & 已阻止跨源请求:同一源策略不允许读取 位于的远程资源 (原因:缺少CORS标头“访问控制允许原点”) 这是因为在跨域ajax调用中,首先发出OPTIONS请求,然
授权
标题和值'Basic'+btoa('user:password')
发出请求时,它会发送正确的标题并启动一个新会话,而在web浏览器中,它会将错误显示为
NetworkError:不允许使用405方法-
&
已阻止跨源请求:同一源策略不允许读取
位于的远程资源
(原因:缺少CORS标头“访问控制允许原点”)
这是因为在跨域ajax调用中,首先发出OPTIONS
请求,然后发出POST/GET
,为了克服这个问题,我在ajax调用中创建了数据类型:“jsonp”
。现在GET调用正在工作,但现在给我一个新错误:
资源来自
“”
由于MIME类型不匹配而被阻止(X-Content-type-Options:
nosniff)
Ajax代码如下所示:
$.ajax({
url: 'https://server-path/GetJavaScriptApi.ashx?Version=8.0',
type: 'GET',
crossDomain: true,
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", Basic ' + btoa('user:password'));
xhr.setRequestHeader("content-type", 'text/plain');
xhr.setRequestHeader("X-Content-Type-Options", "nosniff");
},
dataType: "jsonp",
success: function (jsonData) {
console.log(jsonData);
},
});
调用https://server-path/GetJavaScriptApi.ashx?Version=8.0
验证成功后返回javascipt作为响应
请帮忙解决。。谢谢