2017-11-24 9 views
1

私はJSONファイルを解析する小さな(テスト用の)スクリプトを作成しました(下の例ではhttps://jsonplaceholder.typicode.comを使用しています)。jQuery JSON parser: "Unexpected identifier"エラー

私はの行をテーブルに追加しようとしています。

jsFiddle HEREを参照してください。

私はUnexpected identifierというエラーが出てきます。私は間違って何をしていますか?

UPDATE:私の更新フィドルHEREを参照してください。助けていただいた皆様に感謝します。

+1

のみオフサイトペーストサイトへのリンクではなく、ここにコードを投稿してください。また、ajaxリクエストから返されるレスポンスの例も提供してください。 – Taplar

+0

しかし、あなたのフィドルから、あなたはajaxリクエスト成功メソッドの外でテーブルに追加しようとしています。これは非同期エラーであるだけでなく、変数としてスコープエラーが成功メソッドに局所的にスコープされます。 – Taplar

+0

私が投稿した回答を確認してください – SamaBalaYam

答えて

1

あなたは、データの間違った方法を付加しました。このコード部分をこれで置き換えてください。

var root = 'https://jsonplaceholder.typicode.com'; 
 
var tableRow = ''; 
 
$.ajax({ 
 
    url: root + '/users', 
 
    method: 'GET', 
 
    success: function(data) { 
 
    for (var i = 0; i < data.length; i++) { 
 
     var tableRow = '<tr><td>' + data[i].name + '</td><td>' + data[i].email + '</td><td>' + data[i].email + '</td></tr>'; 
 
     $("#dataTable").find('tbody').append(tableRow); 
 
    } 
 
    }, 
 
    error: function() { 
 
    var tableRow = '<tr><td>There is no data to display</td></tr>'; 
 
    console.log(tableRow); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table" id="dataTable"> 
 
    <thead> 
 
    <tr> 
 
     <th>Full Name</th> 
 
     <th>Email</th> 
 
     <th>Address</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody></tbody> 
 
</table>

+0

@RazvanZamfirはいそれは今うまく見えます – SamaBalaYam

0

テーブルのhtmlを設定した部分を、成功とエラーのハンドラ内で移動するだけです。 ajaxは非同期で、実際の応答を得る前に$("#dataTable tbody").html(tableRow);という行を呼び出しているので、tableRowはまだ空です。

var root = 'https://jsonplaceholder.typicode.com'; 
var tableRow = ''; 
$.ajax({ 
    url: root + '/users', 
    method: 'GET', 
    success: function(data) { 
    var results = ''; 
    for (var i = 0; i < data.length; i++) { 
     results += '<tr><td>' + data[i].name + '</td><td>' + data[i].email + '</td><td>' + data[i].email + '</td></tr>'; 
    } 
      $("#dataTable tbody").html(results); 

    }, 
    error: function() { 
    var tableRow = '<tr><td>There is no data to display</td></tr>'; 
    console.log(tableRow); 
    $("#dataTable tbody").html(tableRow); 

    } 
}); 

fiddle

+0

おっと、私に更新させてください – ztadic91

関連する問題