我使用https协议在IIS中部署了我的网站。它适用于http,但ajax jquery请求失败,使用https。 (我只是调用一个返回json数据的http web api)
NetworkError:无法在'XMLHttpRequest'上执行'send':无法加载'http:// .....“
使用https进行部署时,您是否遇到了同样的错误?
请记住,以下代码在使用HTTP进行部署时效果很好,但切换到HTTPS时会转到错误部分
var dataGetter = {
authenticate: function (username, password) {
var getTokenUrl = "http://xxx";
var getTokenParams = { "username": username, "password": password }
var result = false;
$.ajax({
type: "GET",
url: getTokenUrl,
data: getTokenParams,
contentType: "text/plain",
dataType: 'json',
crossDomain: true,
cache: false,
success: function (result) {
// do something here
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
alert(XMLHttpRequest.responseText);
},
async: false
});
return result;
}
答案 0 :(得分:2)
你做不到。它是浏览器中的基本隐式安全性,它不允许您从https页面调用不安全的链接(http)。
例如:,Google Chrome会给您以下错误:
混合内容:''是通过HTTPS加载的,但请求了一个不安全的资源''。此请求已被阻止;内容必须通过HTTPS提供。