JQGrid数据类型作为Ajax函数未被调用

时间:2010-03-15 19:44:22

标签: jqgrid

JQGrid数据类型为Ajax函数未被调用。一旦我尝试使用firebug进行调试,发现这些行没有被执行。

请告诉我代码的问题。

jQuery("#list").jqGrid({
    //url:'example.xml',

    datatype: function() {
        $.ajax({
            url: "example.xml",
            data: "{}",
            dataType: "xml",
            mtype: "GET",
            complete: function(jsondata, stat) {
                alert((jsondata.responseText));
                if (stat == "success") {
                    alert("ew");
                }
            },
            error: function() {
                alert("error")
            }
        });
    },
    colNames: ['QueueName', 'SLA Associated', 'SLA met', 'SLA Breached', 'SLA MET %', 'SLA Breached %'],
    colModel: [{
        name: 'QueueName',
        index: 'QueueName',
        width: 150
    }, {
        name: 'SLAAssociated',
        index: 'SLAAssociated',
        width: 150
    }, {
        name: 'SLAmet',
        index: 'SLAmet',
        width: 150
    }, {
        name: 'SLABreached',
        index: 'SLABreached',
        width: 150
    }, {
        name: 'SLAMETPer',
        index: 'SLAMETPer',
        width: 150
    }, {
        name: 'SLABreachedPer',
        index: 'SLABreachedPer',
        width: 150
    }],
    pager: jQuery('#pager1'),
    rowNum: 1,
    rowList: [5, 10],
    imgpath: 'themes/basic/images'
});

在标题中我添加如下

<html xmlns="http://www.w3.org/1999/xhtml">

<link rel="stylesheet" type="text/css" media="screen" href="themes/basic/grid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="themes/jqModal.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/report.css" />
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.jqGrid.js" type="text/javascript"></script>
<script src="js/jqModal.js" type="text/javascript"></script>
<script src="js/jqDnR.js" type="text/javascript"></script>

您好请查找我的整个HTML代码。这段代码有什么问题吗?我在数据类型中调用的Ajax函数没有被执行。

jQuery(document).ready(function() {
  jQuery("#list").jqGrid({
    datatype: function(postData) {
      $.ajax({ // THis function is not getting called @ any time.
        url: '1234.xml',
        type: 'POST',
        dataType: 'xml',
        data: postdata,
        error: function() {
          alert(1);
        },
        complete: function(xmlData, stat) {
          alert(0);
        },

      });

    },
    colNames: ['Inv No', 'Date', 'Amount', 'Tax', 'Total', 'Notes'],
    colModel: [{
      name: 'invid',
      index: 'invid',
      width: 55
    }, {
      name: 'invdate',
      index: 'invdate',
      width: 90
    }, {
      name: 'amount',
      index: 'amount',
      width: 80,
      align: 'right'
    }, {
      name: 'tax',
      index: 'tax',
      width: 80,
      align: 'right'
    }, {
      name: 'total',
      index: 'total',
      width: 80,
      align: 'right'
    }, {
      name: 'note',
      index: 'note',
      width: 150,
      sortable: false
    }],
    pager: jQuery('#pager'),
    rowNum: 10,
    rowList: [10, 20, 30],
    sortname: 'id',
    sortorder: "desc",
    viewrecords: true,
    pager: jQuery('#pager'),
    imgpath: 'themes/basic/images',
    caption: "My first grid"
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<title>jqGrid Demo</title>
<link rel="stylesheet" type="text/css" media="screen" href="themes/basic/grid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="themes/jqModal.css" />
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.jqGrid.js" type="text/javascript"></script>
<script src="js/jqModal.js" type="text/javascript"></script>
<script src="js/jqDnR.js" type="text/javascript"></script>


<body>
  <table id="list" class="scroll" cellpadding="0" cellspacing="0"></table>
  <div id="pager" class="scroll" style="text-align:center;"></div>

</body>

1 个答案:

答案 0 :(得分:0)

您的函数需要将postdata作为参数

datatype: function(postData) {
                $.ajax({
                    url: "example.xml",
                    data: postData,  
                    dataType: "xml",
                    mtype: "GET",
                    complete: function(jsondata, stat) { alert((jsondata.responseText));
                        if (stat == "success") {
                        alert("ew");
                        }
                    },
                    error : function () {alert("error")}
                });
            },