javascript
  • angularjs
  • json
  • 2017-02-08 4 views 1 likes 
    1

    私は約束を勝ち取っています。AngularJSデータを解析する約束のエラー

    しかし、AngularJSがバックエンドからの結果を解析しているときにエラーが発生しています。

    ここで何が間違っていますか?ここで

    は私のHTMLです:ここでは

    <div ng-app="clinang" ng-controller="pacientesCtrl"> 
        <a class='btn btnprimary' href='/getdadospac/?oper=S' >Button</a> 
        <table ng-table="tableParams" class="table" show-filter="true"> 
         <tr ng-repeat="paciente in $data"> 
          <td title="'Pront'" filter="{ name: 'text'}" sortable="'pront'"> 
           {{paciente.pront}}</td> 
          <td title="'Nome'" filter="{ age: 'number'}" sortable="'nome'"> 
           {{paciente.nome}}</td> 
         </tr> 
        </table> 
    </div> 
    

    は、バックエンドから戻って私のJSONデータである:

    {"draw":,"recordsTotal":5303,"recordsFiltered":5303, 
    "data":[{"DT_RowId":"4367","pront":"4367","nome":"XXXXXXXXX","endereco":"RUA TEODORO DA SILVA,294\/314","bairro":"VILA ISABEL","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"2567*0440","cpf":"","email":""}, 
    {"DT_RowId":"21","pront":"21","nome":"YYYYYYYYY","endereco":"R ARAGUAIA","bairro":"PARQUE CHUNO","cidade":"DUQUE DE CAXIAS","estado":"RJ","telefone":"35637685","cpf":"02570293709","email":"[email protected]"}, 
    {"DT_RowId":"23","pront":"23","nome":"ZZZZZZZZZZ","endereco":"rua 18 de outubro 241 101","bairro":"tijuca","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"","cpf":"","email":""}, 
    {"DT_RowId":"24","pront":"24","nome":"AAAAAAAAAAA","endereco":"RUA MARIZ E BARROS 470 APTO 610","bairro":"TIJUCA","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"22646701","cpf":"53551192715","email":""}, 
    {"DT_RowId":"27","pront":"27","nome":"AAAAAAAA GON\u00C7ALVES","endereco":"rua an\u00E1polis 251","bairro":"nova igua\u00E7u","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"3101-9648","cpf":"","email":""}, 
    {"DT_RowId":"28","pront":"28","nome":"ASKLJALDJSLKADJ","endereco":"lucio de mendon\u00E7a 24 apt 501","bairro":"maracana","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"2568-9519","cpf":"04301072772","email":""}, 
    {"DT_RowId":"30","pront":"30","nome":"SADFSADFASDFSD","endereco":"RUA GRAVATAI N 61 APTO 302","bairro":"ROCHA MIRANDA","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"32787747","cpf":"","email":""}, 
    {"DT_RowId":"29","pront":"29","nome":"ANASADFSA DOS SANTOS","endereco":"saboia lima 12 apt 04","bairro":"tijuca","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"2204-1498","cpf":"48080152268","email":""}, 
    {"DT_RowId":"31","pront":"31","nome":"JOAO SDAFSA SOUZA","endereco":"av dom helder camara 312 bl 05 apt 102","bairro":"benfica","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"","cpf":"075422437-64","email":""}, 
    {"DT_RowId":"33","pront":"33","nome":"SKDJFSDAJFLASD","endereco":"fabio da luz 275 bl 04 apt 504","bairro":"meier","cidade":"RIO DE JANEIRO","estado":"RJ","telefone":"3979-0859","cpf":"","email":""}]} 
    

    私はJSONリターンで次のエラーを取得しています:

    SyntaxError: Unexpected token , in JSON at position 8 
        at JSON.parse (<anonymous>) 
        at fromJson (http://127.0.0.1:8888/files/lib/angular/angular.js:1377:14) 
        at defaultHttpResponseTransform (http://127.0.0.1:8888/files/lib/angular/angular.js:11003:16) 
    

    JSコード:

    var app = angular.module("clinang", ["ngTable", "ngResource"]); 
          (function() { 
    
           app.controller("pacientesCtrl", pacientesCtrl); 
           pacientesCtrl.$inject = ["NgTableParams", "$resource"]; 
    
           function pacientesCtrl(NgTableParams, $resource) { 
           // tip: to debug, open chrome dev tools and uncomment the following line 
           debugger; 
    
           var Api = $resource("/getdadospac/?oper=S"); 
           this.tableParams = new NgTableParams({}, { 
            getData: function(params) { 
            // ajax request to api 
            return Api.get(params.url()) 
             .$promise 
             .then(function(rows) { 
              debugger; 
              console.log(rows);  
              params.total(rows.recordsTotal); // recal. page nav controls 
              return rows.data; 
            }); 
            } 
           }); 
           this.tableParams.reload(); 
           } 
          })(); 
    
    +1

    からオブジェクトの構築を見てする必要があります

    返された値がありません「ドロー」に対してそのため、エラーが発生しています。レスポンスにnullを追加すれば修正されます。 –

    +1

    あなたのJSONが間違っています: '" draw ":,' – Dario

    +0

    ありがとうございます。私はばかです。私はそれを見なかった。 –

    答えて

    2

    JSONが無効であるようです。具体的には、最初の行に:

    {"draw":,"recordsTotal":5303, ..... 
    

    "draw"メンバーには値がありません。 リンターを使用してJSONをテストできますjsonlint

    +1

    ありがとう、私はちょうどバックエンドの描画に値を入れます。これはエラーを解決します。私には問題があります。私のHTMLビューはデータを表示していません。 htmlで何が間違っているのか教えていただけますか? –

    +0

    ちょっと@LuizAlves、それはあなたを助けてうれしい。私はngTableディレクティブに精通していないので、何が間違っているのか分かりません。 ngTableの問題に固有の別の質問をしたい場合があります。 –

    +1

    ありがとう、ありがとうございました –

    0

    JSON応答が無効であるため、解析が失敗します。キー "描画"に値がないため、位置8の無効な文字がエラーになります。

    あなたは有効なJSONについての詳細を読むことができますが、ここではオブジェクト: http://json-schema.org

    をここにいくつかの例:JSONバリデータを使用して http://json-schema.org/examples.html

    0

    それはあなたが戻って

    なっているJSON形式に誤りがあることを示しています

    エラー:

    "描く":1行目にエラーを解析し、 "recordsTotal": ------^

    「EOF」を期待し、「}」、「」、 『]』、得た 『:』あなたはバックエンド

    +0

    あなたのhtmlがあなたのデータを表示していないことに応答して、返されたデータに範囲を設定していることを確認してください – DaveOz

    関連する問題