関数がサーバーから取得するデータ:
{
"COLUMNS":[
"ID",
"NAME",
"LASTNAME"
],
"DATA":[
[
"1",
"John",
"Lewis"
],
[
"2",
"Peter",
"Gabriel"
],
[
"3",
"Susan",
"Smith"
]
]
}
JavaScript
<script type="text/javascript">
$(document).ready(function(){
$('#showteams').click(function() {
$.ajax({
url: "authenticationService.cfc?method=getAllTeams&returnformat=JSON&queryformat=column",
dataType: 'json',
success:function(data) {
alert('data that function gets from the server:' + '\n' + '\n' + data + '\n' + '\n' +
"everything is listed here");
$.each(data.DATA, function(i,team){
$('#teamList').append('<li><a href="#">' + team + '</a>');
});
}});
});
$('#teams').show();
$('#teamList').fadeIn(1200);
$(this).attr('disabled', 'disabled');
});
</script>
私のコードは実際に動作しますが、少なくとも何らかの方法でこのような値を出力します
1,John,Lewis
2,Peter,Gabriel
3,Susan,Smith
今、私はそれをより柔軟にし、他の方法でデータを反復処理して、たとえば表示したいと思います
これはユーザーのファーストネームです: NAME lastname: LASTNAME with number ID
すなわち
これはユーザーの firstname: John lastname: Lewis with number 1
など
for でなんとかできることはわかっていますが、整理することはできません。考えられることはすべて試しました:(特にJavaScriptが本当に私のものではないことを考えると、これについてあなたの助けを本当に感謝します.
編集:サーバー側で問題が発生しました:(私が達成しようとしているのは、最初のクリックレコードで1から10までのデータを出力し、11から20までの2番目のクリックレコードでデータを出力することです。 startrow data: { startrow: "1", maxrow: "10" } のように、coldfusion コンポーネントでは cfloop でうまくいくはずですが、何らかの理由で正しい JSON 形式を返すことができません。構造体の配列だけでなく、serializeJSONよりも配列に変換しましたが、並べ替えに失敗しました。