ajax 呼び出しに問題があります。
以下のコードでは、ページが読み込まれると pageReload() 関数が自動的に呼び出され、10 秒ごとに ajaxCall() 関数が呼び出されます。
URLに必要なパラメーターを渡すことにより、ajaxを介してgrailsコントローラーのメソッドを呼び出しています。コントローラー メソッドは、書籍の名前、書籍の著者、および出版された年の 3 つの要素を含む配列を返します。
<htmL>
<head>
<script type="text/javascript">
function pageReload() {
var timeInterval = setInterval('ajaxCall()',10000);
}
function ajaxCall() {
jQuery.ajax({
url: '/getBook?rowName=${row}&columnName=${column}',
success: function(data){
bookReturned(data);
},
error: function() {
alert('Error occured in AJAX call');
}
});
}
function bookReturned(values){
alert("Values are : "+values);
}
window.onload=pageReload;
</script>
<head>
</html>
10 秒ごとに、コントローラー メソッドから返される値のアラートが表示されます。しかし、コントローラーメソッドはajaxによる最初の呼び出しに対してのみ実行されます(コンソールに1回だけ表示されるコントローラーメソッドでprintlnを指定しました)。
コントローラーメソッドが呼び出されるたびに ajax 呼び出しを実行してコントローラーメソッドを実行する方法。
私はGrailsとajaxが初めてなので、これを手伝ってください。
前もって感謝します。