在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

对于Rails 4中的项目,我正在使用JavaScript中的部分代码,但控制台中有一个错误。直接使用数字时,此错误将消失。我用代码更好地解释了它:

下面是
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