Javascript 当服务器从http更改为https时,有哪些可能的方法来解决问题?
由于服务器从http更改为https,我正在处理的计算操作出现问题 我没有在给出问题的功能文件中更改任何内容,实际上我不知道发生了什么,因为控制台没有返回任何错误 在生产环境中,一切都正常工作,因为协议是http,但在Staging ENV中,由于对安全服务器的更改,应用程序的该部分会停止运行,并且不会返回任何内容Javascript 当服务器从http更改为https时,有哪些可能的方法来解决问题?,javascript,http,https,Javascript,Http,Https,由于服务器从http更改为https,我正在处理的计算操作出现问题 我没有在给出问题的功能文件中更改任何内容,实际上我不知道发生了什么,因为控制台没有返回任何错误 在生产环境中,一切都正常工作,因为协议是http,但在Staging ENV中,由于对安全服务器的更改,应用程序的该部分会停止运行,并且不会返回任何内容 if(window.location.href.indexOf("standalone") != -1) { var pid = 'HL:Tool:HLmisc:Calc;Mor
if(window.location.href.indexOf("standalone") != -1) {
var pid = 'HL:Tool:HLmisc:Calc;MortgageCalculator';
var standalone = 'standalone=y&';
}else{
var pid = 'MHE:Tool:HLPE;Tool_AffordabilitySnapshot';
var standalone = 'standalone=&';
} if(window.location.href.indexOf("standalone") != -1) {
var pid = 'HL:Tool:HLmisc:Calc;MortgageCalculator';
var standalone = 'standalone=y&';
}else{
var pid = 'MHE:Tool:HLPE;Tool_AffordabilitySnapshot';
var standalone = 'standalone=&';
}
$(".submitBtn").click(function(e){
//alert(this.id);
var valRes = AFFSNAP.form.validate();
if(this.id === 'incomeSubmit' && valRes) {
//alert('build income array');
var income = new Array();
income['pid'] = pid+'Tool_AffordabilitySnapshot';
income['nm'] = this.name;
income['hr'] = location.protocol+'//'+location.hostname+location.pathname+'?'+standalone+'step=expenses&agi='+$('#agi').val()+'&mni='+$('#mni').val();
AFFSNAP.throwManualCMClickEvt(income);
}
if(this.id === 'expensesSubmit' && valRes) {
var expenses = new Array();
expenses['pid'] = pid+'Tool_AFS_Expenses';
expenses['nm'] = this.name;
expenses['hr'] = '//'+location.hostname+location.pathname+'?'+standalone+'step=debt&utilities='+$('#utilities').val()+'&communications='+$('#communications').val()+'&entertainment='+$('#entertainment').val()+'&dependents='+$('#dependents').val()+'&travel='+$('#travel').val()+'&savings='+$('#savings').val();
AFFSNAP.throwManualCMClickEvt(expenses);
}
if(this.id === 'calculateSubmit' && valRes){
var calculate = new Array();
calculate['pid'] = pid+'Tool_AFS_Debt';
calculate['nm'] = this.name;
calculate['hr'] = '//'+location.hostname+location.pathname+'?step=results&creditCards='+$('#creditCards').val()+'&loans='+$('#loans').val();
AFFSNAP.throwManualCMClickEvt(calculate);
AFFSNAP.throwCMOnLoadEvt2();
}
return valRes;
});
这是一个函数,它接受一些输入值并进行我需要的计算
有什么建议吗
编辑
如果你投反对票,至少提供一个理由,这样我可以改进我的答案。您正在滥用该功能。如果您正在引用同一站点内的链接,最好只引用相对于根的路径,而忽略协议和主机名。您的链接如下所示:
<a href="/path/to/my/file.html?key1=val1">test</a>
另一种处理方法是完全删除协议。这将允许它从当前协议继承。因此,您的链接看起来像:
<a href="//mydomain.com/path/to/my/file.html?key1=val1">test</a>
无论您的协议是http还是https,它都将自动挂起到href。错误是什么?“应用程序宕机”绝不是故障描述。那么,到底什么不起作用?什么是AFFSNAP?如果它涉及一些Ajax,您可能会遇到SOP问题。确保通过HTTPS为整个站点提供服务。@Bergi这里是整个文件的要点