我正在使用跨域ajax调用Spotfire服务器创建客户端会话 . 对于身份验证我使用基本身份验证方法 . 当我通过Postman使用 Authorization 标头和值 'Basic ' + btoa('user:password') 发出请求时,它会发送正确的标头并开始一个新会话,而在Web浏览器中它显示错误为

NetworkError:405方法不允许 - http://server-path/GetJavaScriptApi.ashx?Version = 8.0

阻止跨源请求:同源策略禁止在http://server-path/GetJavaScriptApi.ashx?Version = 8.0读取远程资源 . (原因:缺少CORS Headers 'Access-Control-Allow-Origin') .

这是因为在交叉域中ajax调用首先 OPTIONS 请求后跟 POST/GET ,为了克服这个问题我在我的ajax调用中做了 dataType: "jsonp" . 现在GET调用正在运行,但现在给了我一个新的错误:

由于MIME类型不匹配(X-Content-Type-Options:nosniff),来自“http://server-path/GetJavaScriptApi.ashx?Version = 8.0&callback = jQuery111107482621169238032_1487159470493&_ = 1487159470494”的资源被阻止 .

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作为响应返回

请帮忙解决..谢谢