jqGrid を使用していますが、サーバー側のテクノロジが原因で、URL を直接呼び出してデータを取得することができず、サードパーティのブローカーを介してのみサーバーに投稿できます。私の目標は、サーバーを呼び出して JSON 文字列を返す独自の JavaScript 関数を呼び出して、グリッドにデータをロードできるようにすることです。
私が試したこと:代わりに
url:'http://127.0.0.1/products/index.php’,
datatype: 'json',
私は持っている
datastring:init(),
datatype: 'jsonstring',
私のinit()
関数はサーバー側の呼び出しを行います。最初のページ読み込みでは問題なく動作します。ただし、ページ間をジャンプしたり、表示する行数を変更したりする場合など、再度呼び出されることはありません。データベースからデータを更新する init 関数を呼び出す必要があります。init()
ただし、関数を複数回呼び出すことはありません。これは決して変更されないハードコードされた文字列であると考えていると思います。
手動で呼び出してみまし$("#mygrid").trigger("reloadGrid");
たが、うまくいかないようです。
私のグリッドは次のとおりです。
<script type="text/javascript">
$(function(){
$("#list").jqGrid({
datastr:init(),
datatype: 'jsonstring',
mtype: 'GET',
beforeRequest: beforeReq,
pager: '#pager',
rowNum:5,
rowList:[5,10,30],
sortname: 'invid',
sortorder: 'desc',
grouping:true,
viewrecords: true,
gridview: true,
});
});
</script>
電話してみた
$("#list").setGridParam({datatype:'jsonstring', page:1}).trigger('reloadGrid');