在Rails 4中使用Javascript时出现语法错误
对于Rails 4中的项目,我正在使用JavaScript中的部分代码,但控制台中有一个错误。直接使用数字时,此错误将消失。我用代码更好地解释了它: 下面是在Rails 4中使用Javascript时出现语法错误,javascript,ruby-on-rails,ajax,Javascript,Ruby On Rails,Ajax,对于Rails 4中的项目,我正在使用JavaScript中的部分代码,但控制台中有一个错误。直接使用数字时,此错误将消失。我用代码更好地解释了它: 下面是index.html.erb <script > $(function(){ // Converting entries by user var jahresverbrauch; jahresverbrauch = parseInt(a); //Jahreshausverbrauch (kWh) v
index.html.erb
<script >
$(function(){
// Converting entries by user
var jahresverbrauch;
jahresverbrauch = parseInt(a); //Jahreshausverbrauch (kWh)
var pv_groeße;
pv_groeße = parseInt(b); //PV-Große (kWp)
var strompreis;
strompreis = parseFloat(c); //Strompreis (cent)
var strompreissteigerung;
strompreissteigerung = parseFloat(d); //Stromsteigerung (cent)
var ertrag_pv;
ertrag_pv = parseInt(e); //Ertrag PV (kWh/kWp)
var degression_pv;
degression_pv = parseFloat(f); //Degression_pv (%)
var pv_preis_inst;
pv_preis_inst = parseInt(g); //PV-Anlagepreis(+Installation pro kWp)
var einspeiseverguetung;
einspeiseverguetung = parseFloat(h); //PV-Anlagepreis(+Installation pro kWp)
var foerderung;
foerderung = i;
$.ajax({
type: 'POST',
url: '/api/v2/energycalcsb',
data: {"data":[jahresverbrauch,pv_groeße]},
dataType: 'json',
success: function(data){ //Sending the output to a function
finance_module(data);
}
}); //AJAX to energy calculation module
function finance_module(data){
eigen_eco4 = data['data_output'][0];
autarkie_eco4 = data['data_output'][1];
eigen_eco6 = data['data_output'][2];
autarkie_eco6 = data['data_output'][3];
eigen_eco8 = data['data_output'][4];
autarkie_eco8 = data['data_output'][5];
eigen_eco10 = data['data_output'][6];
autarkie_eco10 = data['data_output'][7];
eigen_eco12 = data['data_output'][8];
autarkie_eco12 = data['data_output'][9];
eigen_eco14 = data['data_output'][10];
autarkie_eco14 = data['data_output'][11];
eigen_eco16 = data['data_output'][12];
autarkie_eco16 = data['data_output'][13];
//{"data":[52,55,60,65,67,65,67,69,70,72,72,74,73,76,jahresverbrauch,pv_groeße,strompreis,strompreissteigerung,ertrag_pv,degression_pv,pv_preis_inst,einspeiseverguetung,foerderung]},
$.ajax({
type: 'POST',
url: '/api/v3/financecalc',
data: {"data":[eigen_eco4,autarkie_eco4,eigen_eco6,autarkie_eco6,eigen_eco8,autarkie_eco8,eigen_eco10,autarkie_eco10,70,72,eigen_eco14,autarkie_eco14,eigen_eco16,autarkie_eco16,jahresverbrauch,pv_groeße,strompreis,strompreissteigerung,ertrag_pv,degression_pv,pv_preis_inst,einspeiseverguetung,foerderung]}, //HERE-> PROBLEM
dataType: 'json',
success: function(data){
results(data);
//console.log('success', data);
}
}); //AJAX to energy calculation module
};
function results(data){
eco_nummer = data['data_output'][0][0][0];
gewinn = data['data_output'][0][0][1];
amortisation = data['data_output'][1][0][1];
//console.log('success', data['data_output'][0][0][0]); //data=[data_output=[[[4,6355],[6,3545]],[[4,5],[6,8]]]]
if ( jahresverbrauch != 0 && pv_groeße != 0 && isNaN(strompreis) == false && isNaN(strompreissteigerung) == false && ertrag_pv != 0 && isNaN(degression_pv) == false && pv_preis_inst != 0 && isNaN(einspeiseverguetung) == false && foerderung != "")//"0", "0", "NaN", "NaN", "0", "NaN", "0", "NaN", ""
{
$("#o1").text("out1 "+eco_nummer);
$("#o2").text("out2 "+gewinn + "€");
$("#o3").text("out3 "+amortisation);
}
};
});
</script>
$(函数(){
//按用户转换条目
var jahresverbrauch;
jahresverbrauch=parseInt(a);//Jahreshausverbrauch(kWh)
var pv_groeße;
pv_groeße=parseInt(b);//pv Große(kWp)
strompreis变种;
strompreis=parseFloat(c);//strompreis(cent)
strompreissteigerung变种;
strompreiseteigerung=parseFloat(d);//Stromsteigerung(cent)
var ertrag_pv;
ertrag_pv=parseInt(e);//ertrag pv(kWh/kWp)
var递减;
递减率=parseFloat(f);//递减率(%)
var pv_preis_inst;
pv_preis_inst=parseInt(g);//pv Anlagepreis(+安装专业kWp)
var Einspeiseverguetong;
einspeiserveguetung=parseFloat(h);//PV Anlagepreis(+Installation pro kWp)
弗德龙变种;
福德龙=i;
$.ajax({
键入:“POST”,
url:“/api/v2/energycalcsb”,
数据:{“数据”:[jahresverbrauch,pv_groeße]},
数据类型:“json”,
成功:函数(数据){//将输出发送到函数
财务单元(数据);
}
});//AJAX到能量计算模块
功能财务模块(数据){
本征值eco4=数据['data_output'][0];
自给自足经济4=数据[“数据输出”][1];
本征值eco6=数据['data_output'][2];
自给自足经济6=数据[“数据输出”][3];
本征值eco8=数据['data_output'][4];
自给自足经济8=数据[“数据输出”][5];
本征值eco10=数据[‘数据输出’][6];
自给自足经济10=数据[“数据输出”][7];
本征值eco12=数据['data_output'][8];
自给自足经济12=数据[“数据输出”][9];
本征值eco14=数据[‘数据输出’][10];
自给自足经济14=数据[“数据输出”][11];
本征值eco16=数据[‘数据输出’][12];
自给自足经济16=数据[“数据输出”][13];
//{“数据”:[52,55,60,65,67,65,67,69,70,72,72,74,73,76,贾勒斯韦布洛赫,pv_groeße,strompreis,strompreis Steigerung,ertrag_pv,degression_pv,pv_preis_inst,Einspeiseverguetong,Forerdung],
$.ajax({
键入:“POST”,
url:“/api/v3/financecalc”,
数据:{“数据”:[本征eco4,自给自足eco4,本征eco6,自给自足eco6,本征eco8,自给自足eco8,本征eco10,自给自足eco10,70,72,本征eco14,自给自足eco14,本征eco16,自给自足eco16,Jahrewerbrauch,pvßßßß,strompreis,strompreissteigerung,ertragúpv,degressionúúpv,pvúúú,pvúúú戋戋戋戋戋戋戋戋
数据类型:“json”,
成功:函数(数据){
结果(数据);
//console.log('success',数据);
}
});//AJAX到能量计算模块
};
功能结果(数据){
eco_nummer=data['data_output'][0][0][0];
gewinn=data['data_output'][0][0][1];
摊销=数据[“数据输出”][1][0][1];
//console.log('success',data['data_output'][0][0][0]);//data=[data_output=[[46355],[63545],[4,5],[6,8]]
如果(jahresverbrauch!=0&&pv_groeße!=0&&isNaN(strompreis)==false&&isNaN(strompreisesteigerung)==false&&ertrag_pv!=0&&isNaN(degression_pv)==false&&isNaN(einspeiseverguetung)==false&&foerdrung!=”/“0”、“0”、“NaN”、“NaN”、“0”、“NaN”、“0”、“NaN”、“0”、“NaN”、“0”、“NaN”、“0”、“0”、“0”、“0”、“NaN”和“NaN”
{
$(“#o1”).text(“out1”+eco#numer);
$(“#o2”)。文本(“out2”+gewinn+“€”);
美元(“#o3”)。文本(“out3”+摊销);
}
};
});
这是我的控制器(我如何从AJAX接收数据):
class Api::V3::FinancecalcController自给自足生态4,6=>自给自足生态6,8=>自给自足生态8,10=>自给自足生态10,12=>自给自足生态12,14=>自给自足生态14,16=>自给自足生态16}
eigenverbrauch_eco={4=>Eigenn_eco4,6=>Eigenn_eco6,8=>Eigenn_eco8,10=>Eigenn_eco10,12=>Eigenn_eco12,14=>Eigenn_eco14,16=>Eigenn_eco16}
#完成了一些操作
#输出回AJAX
结束
结束
调用AJAX时,如果数据引用:eigen_eco4、autoarkie_eco4
ans等等,并且控制台日志指向:financecalc
,则会发生错误
当用数字直接更改这些数据时(每个eigen_eco4、自给自足_eco4
等的数字为23,34),数据不会出现
有人知道我遗漏了什么吗?上周我们不是讨论过将所有数据存储在散列中,而不是存储在一百个不同的变量中吗
class Api::V3::FinancecalcController < ApplicationController
skip_before_filter :verify_authenticity_token
def index
end
def create
eigen_eco4 = params[:data][0].to_f
autarkie_eco4 = params[:data][1].to_f
eigen_eco6 = params[:data][2].to_f
autarkie_eco6 = params[:data][3].to_f
eigen_eco8 = params[:data][4].to_f
autarkie_eco8 = params[:data][5].to_f
eigen_eco10 = params[:data][6].to_f
autarkie_eco10 = params[:data][7].to_f
eigen_eco12 = params[:data][8].to_f
autarkie_eco12 = params[:data][9].to_f
eigen_eco14 = params[:data][10].to_f
autarkie_eco14 = params[:data][11].to_f
eigen_eco16 = params[:data][12].to_f
autarkie_eco16 = params[:data][13].to_f
jahrstromverbrauch = params[:data][14].to_f
pv_groeße = params[:data][15].to_f
akt_strompreis_cent = params[:data][16].to_f
strompreissteigerung = params[:data][17].to_f
ertrag_pv = params[:data][18].to_f
degression_pv = params[:data][19].to_f
pv_preis_inst = params[:data][20].to_f
einspeiseverguetung = params[:data][21].to_f
foerderung = params[:data][22].to_s
# some operations done
# Save in hash
autarkie_eco = {4 => autarkie_eco4, 6 => autarkie_eco6, 8 => autarkie_eco8, 10 => autarkie_eco10, 12 => autarkie_eco12, 14 => autarkie_eco14, 16 => autarkie_eco16}
eigenverbrauch_eco = {4 => eigen_eco4, 6 => eigen_eco6, 8 => eigen_eco8, 10 => eigen_eco10, 12 => eigen_eco12, 14 => eigen_eco14, 16 => eigen_eco16}
# some operations done
# output back to AJAX
end
end