我知道有些东西是通过 http 而不是 https 调用的,但实际上我不知道如何解决这个问题!
$.ajax({
type: "GET",
url: window.location.href.substring(0, location.href.lastIndexOf("/") + 1) + '/MyService.asmx/MyMethod';,
data: 'param=' + JSON.stringify({ "myParam": value.trim() });,
dataType: "text",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
}, ...
我什至尝试过这种方式,但没有成功:
Url: '//MyService.asmx/MyMethod';
给定的错误是:混合内容:“ https://www.example.com/MyPage.aspx ”上的页面已通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点“ http://www.example.com/MyService.asmx” ?param=paramValue '。此请求已被阻止;内容必须通过 HTTPS 提供。
有什么建议吗?
有几件事可能会触发此错误。
首先,将构造您的 url 的 javascript 更改为
window.location.href.substring(0, location.href.lastIndexOf("/") + 1) + 'MyService.asmx/MyMethod'
(去掉 MyService.asmx 前的斜线和最后的分号)
尝试使用此代码生成的 url console.log() 并尝试是否可以通过浏览器中的 HTTPS 访问它。可能发生的情况是,如果 url 无法访问,则可能会重定向到非 https url。您也可以使用浏览器调试工具(如 chrome 检查网络选项卡)来查看您的请求发生了什么(查找状态代码、检查响应标头等)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句