2016-11-15 7 views
1

cldr/globalize;CLDR/전역 : 슬라이스 JSON 배열 : 캐치되지 않음 TypeError : 정의되지 않은 '0'속성을 읽을 수 없습니다.

13 개의 CLDR 'json 파일 (likelySubtags.json과 같은)을로드하는 동안 예외가 트리거됩니다.

'인수'의 크기가 예외를 트리거하는 (14) (대신 13) 것 같다 "catch되지 않은 형식 오류가 : 속성을 읽을 수 없습니다 '0'정의의"

을 그들은 '이를 이용한 몇 가지 예를 자바 스크립트 '코드와 사람들이 불평하지 않는 것 같습니다; , AB, C, DE

당신이 추가 정보가 필요하십니까 보여? 더 많은 코드가 필요합니까? 그냥 자바 스크립트로드, 내가


Uncaught TypeError: Cannot read property '0' of undefined

자바 스크립트를 알고 '엉'

$(document).ready(function() { 
    // https://stackoverflow.com/questions/35863853/using-jquery-globalize-with-mvc-5 
    // download json files on https://github.com/unicode-cldr?page=2 
    // how to setup globalize, cldr and json data: http://johnnyreilly.github.io/globalize-so-what-cha-want 

    var locale = 'en'; // TODO: manage the localization based on user preferences (browser) 

    // https://stackoverflow.com/questions/32586551/what-is-the-best-way-to-handle-validation-with-different-culture 
    $.when(
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/likelySubtags.json"), 
     $.getJSON("/Scripts/plugins/cldr-numbers-full-30.0.2/main/" + locale + "/numbers.json"), 
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/numberingSystems.json"), 
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/plurals.json"), 
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/ordinals.json"), 
     $.getJSON("/Scripts/plugins/cldr-numbers-full-30.0.2/main/" + locale + "/currencies.json"), 
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/currencyData.json"), 
     $.getJSON("/Scripts/plugins/cldr-dates-full-30.0.2/main/" + locale + "/ca-gregorian.json"), 
     $.getJSON("/Scripts/plugins/cldr-dates-full-30.0.2/main/" + locale + "/timeZoneNames.json"), 
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/timeData.json"), 
     $.getJSON("/Scripts/plugins/cldr-core-30.0.2/supplemental/weekData.json"), 
     $.getJSON("/Scripts/plugins/cldr-dates-full-30.0.2/main/" + locale + "/dateFields.json"), 
     $.getJSON("/Scripts/plugins/cldr-units-full-30.0.2/main/" + locale + "/units.json"), 
     console.log("JSONs loaded") 
    ).then(function() { 
     console.log("start slicing"); 
     return [].slice.apply(arguments, [0]).map(function (result) { 
      console.log("slicing done"); 
      return result[0]; 
     }); 
     }).then(Globalize.load).then(function() { 
     Globalize.locale(locale); 
     console.log("Locale set to " + locale); 
     }).then(console.log("LOADED EVERYTHING")); 


}); 

HTML, 로케일 설정로드 CLDR 데이터를하자

<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>StratEx | Project management</title> 
    <meta http-equiv="X-UA-Compatible" content="IE=EDGE"> 
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700" rel="stylesheet" type="text/css"> 
    <link href="/Scripts/plugins/jquery-ui-1.11.4/jquery-ui.css" rel="stylesheet"> 

    <link href="/Content/font-awesome/css/font-awesome.css" rel="stylesheet"> 

    <link href="/Content/bootstrap-3.3.7/css/bootstrap.css" rel="stylesheet"> 

    <link href="/Content/animate.css" rel="stylesheet"> 
    <link href="/Content/style.css" rel="stylesheet"> 

    <link href="/Content/themes/redmond/jquery-ui-1.10.3.custom.min.css" rel="stylesheet"> 

    <script type="application/javascript" async="" defer="" src="https://by2.uservoice.com/t2/ID/web/ID/track.js?_=TIMESTAMP&amp;s=1&amp;c=__uvSessionData0&amp;d=HASH"></script> 
    <script type="text/javascript" async="" src="//widget.uservoice.com/CODE.js"></script><script async="" src="//www.google-analytics.com/analytics.js"></script> 
    <script 
    src="/Scripts/jquery-2.2.1.js"></script> 

    <script src="/Scripts/plugins/cldrjs-0.4.7/dist/cldr.js"></script> 
    <script src="/Scripts/plugins/cldrjs-0.4.7/dist/cldr/event.js"></script> 
    <script src="/Scripts/plugins/cldrjs-0.4.7/dist/cldr/supplemental.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/number.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/plural.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/message.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/currency.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/date.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/relative-time.js"></script> 
    <script src="/Scripts/plugins/globalize-1.1.2/dist/globalize/unit.js"></script> 
    <script src="/Scripts/plugins/jquery-validation-1.15.1/dist/jquery.validate.js"></script> 
    <script src="/Scripts/plugins/jquery-validation-unobtrusive-3.2.6/jquery.validate.unobtrusive.js"></script> 
    <script src="/Scripts/plugins/jquery-ajax-unobtrusive-3.2.4/jquery.unobtrusive-ajax.js"></script> 
    <script src="/Scripts/plugins/jquery-validation-globalize-1.0.0/jquery.validate.globalize.js"></script> 

    <script src="/Scripts/plugins/jquery-ui-1.11.4/jquery-ui.js"></script> 

    <script src="/Content/bootstrap-3.3.7/js/bootstrap.js"></script> 

</head> 

답변

1

14 번째 항목이 'arguments'안에 포함되어 있으므로 예외를 트리거하는 추가 console.log("JSONs loaded")이 있습니다