我正在处理计算操作的问题,因为服务器从http更改为https。
我没有改变提供问题的功能文件中的任何内容,实际上我不知道发生了什么,因为控制台没有返回任何错误。
在生产环境中,一切正常,因为协议是http
,但在Staging ENV中,由于对安全服务器的更改,应用程序的该部分发生故障并且没有返回任何内容。
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;
});
这是一个函数,它需要一些输入值并进行我需要的计算。
有什么建议吗?
修改 如果你投票,至少提供一个理由,以便我可以改善我的答案。你滥用这个功能。
答案 0 :(得分:3)
如果您在同一网站内引用链接,最好只引用相对于根的路径,并省略协议&主机名。您的链接如下所示:
<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。