Ajax から返された Json データに基づいてグリッドを構築する新しい機能を作成しています。この機能を関数内にカプセル化することにしたので、追加/更新/削除すると、データの新しい表現を正常に取得できます。
私が抱えている問題は、グローバル配列を埋めたいのですが、AJAX を使用する関数が終了すると、配列はあるがデータがないことです。すべてのコードが AJAX 呼び出し内にある場合、これは問題ではありませんが、これを独自の関数に分離しようとすると、意図したとおりに機能しません。
<script type="text/javascript">
var DataArray = [];
// Use this function to fill array
function retrieveNotes() {
$.ajax({
url: "http://wks52025:82/WcfDataService.svc/GetNotesFromView()?$format=json",
type: "get",
datatype: "json",
asynch:true,
success: function (data) {
returnedData = data;
$.each(data.d, function (i, item) {
DataArray[i] = [];
DataArray[i][0] = item.NotesTitle.trim();
DataArray[i][1] = item.ProfileName.trim();
DataArray[i][2] = item.IsShared;
DataArray[i][3] = item.NameOfUser.trim();
}) // End of each loop
}
});
}
$(document).ready(function () {
retrieveNotes();
DataArray;
</script>