net web 表单项目,我从 ashx.cs http 处理程序文件(服务器端)获取这种格式的数据:
{"total":1,"page":1,"records":10,"userData":{"KoleMoamelat":"1180"},"rows":[{"id":1,"cell":["1"]}]}
这是我的 jqGrid jquery 代码的一部分:
<script type="text/javascript">
var grid;
grid = jQuery("#list").jqGrid({
url: '/Report/Handlers/AdvancedSearch.ashx',
datatype: 'json',
mtype: 'GET',
colNames: [ 'نوع ملک'],
colModel: [
{ name: 'Counter', index: 'Counter', width: 40, align: 'center' },
pager: jQuery('#pager'),
rowList: [5, 10, 20, 50],
rowNum: 10,
height: 120,
sortname: 'Id',
sortorder: "desc",
viewrecords: true,
imgpath: '/scripts/themes/coffee/images',
caption: 'آمار قراردادهای ثبت شده در یک بازه زمانی',
loadComplete: function (data) {
var userData = $("#list").jqGrid("getGridParam", "userData");
document.getElementById("lblKoleMoamelat").innerHTML = userData["KoleMoamelat"];
实际上 jqGrid 表本身的数据是正确的,没有任何问题,但我想访问这段代码的 jQgrid 列返回的 userData :
document.getElementById("lblKoleMoamelat").innerHTML = userData["KoleMoamelat"];
但是此代码没有从 ashx.cs 响应(服务器响应)获取 userData :
var userData = $("#list").jqGrid("getGridParam", "userData");
现在在 html 表单中,Id 的元素:lblKoleMoamelat 不幸地显示未定义。 我很感激任何帮助。
以下代码片段可帮助您从响应中访问
userData
并使用正确的值更新 HTML 元素:
<script type="text/javascript">
var grid;
grid = jQuery("#list").jqGrid({
url: '/Report/Handlers/AdvancedSearch.ashx',
datatype: 'json',
mtype: 'GET',
colNames: ['نوع ملک'],
colModel: [
{ name: 'Counter', index: 'Counter', width: 40, align: 'center' },
],
pager: jQuery('#pager'),
rowList: [5, 10, 20, 50],
rowNum: 10,
height: 120,
sortname: 'Id',
sortorder: "desc",
viewrecords: true,
imgpath: '/scripts/themes/coffee/images',
caption: 'آمار قراردادهای ثبت شده در یک بازه زمانی',
loadComplete: function (data) {
var userData = data.userData; // Access userData directly from the response data
document.getElementById("lblKoleMoamelat").innerHTML = userData["KoleMoamelat"];
}
});
</script>
您应该直接从
userData
函数的 data
参数访问 loadComplete
。 userData
已经是响应数据的一部分,因此您不需要使用 getGridParam
方法来访问它。