0

我想将 dojo 从 ajax 获取数据到 php Dojo 传递参数我无法在 php 类中使用它。传递cpa不是传递给php文件..

这是我的代码:

   globalHandlers: {
                doVsatEvents: function(vsatId, network, cpa) {
                    // retrieve the events via xml
                    dojo.xhrGet ({
                        url: "includes/vsat_events.php?",
                        handleAs: "xml",
                        preventCache: true,
                        content: {
                            network: network,
                            cpa: cpa
                        },
                        load: function(response, args) {
                            var temp = response.getElementsByTagName("event");
                            var eventsItems =[];
                            alert (temp.length);
                            for (var i = 0; i < temp.length; i++) {
                                var event = [];
                                event = [];
                                event['id'] = temp[i].getAttribute(['id']);
                                event['nms'] = temp[i].getAttribute(['nms']);
                                event['status'] = temp[i].getAttribute(['status']);
                                event['date'] = temp[i].getAttribute(["date"]);
                                event['time'] = temp[i].getAttribute(["time"]);
                                event['description'] = temp[i].getAttribute(["description"]);
                                alert (events['description']);
                                eventsItems.push(event);
                            }

                            var eventsGridData = {
                                identifier: 'id',
                                items: eventsItems
                            };

                            // build a floating pane
                            var fPane = SM.util.skymapFloatingPane("Events", "eventsFPID_" + SM.getNextId());

                            var eventsStore = new dojo.data.ItemFileReadStore({
                                data: eventsGridData,
                                clearOnClose: true
                            });

                            // set the layout structure: 720px
                            // scrollbar is 14px wide
                            var eventsLayout = [{
                                field: 'id',
                                name: 'ID',
                                width: '60px'
                            },{
                                field: 'nms',
                                name: 'NMS',
                                width: '55px'
                            },{
                                field: 'status',
                                name: 'Severity',
                                width: '60px'
                            },{
                                field: 'date',
                                name: 'Date',
                                width: '100px'
                            },{
                                field: 'time',
                                name: 'Time',
                                width: '90px'
                            },{
                                field: 'description',
                                name: 'Description',
                                width: '400px'
                            }];

                            // create a new grid:
                            var eventsGrid = new dojox.grid.DataGrid({
                                query: {
                                    id: '*'
                                },
                                store: eventsStore,
                                clientSort: true,
                                rowSelector: '20px',
                                structure: eventsLayout
                            }, document.createElement('div'));


                            // append the new grid to the div "gridContainer4":
                            fPane.set('content', eventsGrid);

                            //document.body.appendChild(fPane.domNode);
                            fPane.startup();
                            fPane.show();
                        }
                    });
                },

这是我的 PHP 代码:

     <?php
chdir('../../../');
include_once("./include/auth.php");

// Start XML file, create parent node
$doc = new DOMDocument;
$node = $doc->createElement("events");
$parnode = $doc->appendChild($node);


$query = "SELECT * FROM `skymap_1_nms_events`";
$query .= " WHERE `cpa` = ".$_GET['cpa'];
$query .= " ORDER BY `id` DESC";
//print $query;
$result = mysql_query ($query);

header("Content-type: text/xml");

while($row = mysql_fetch_assoc($result)){

   $status = $row['severity'];
   if ($status == 3){
      $status = "normal"; 
   } elseif($status == 1) {
      $status = "disabled";
   } elseif($status == 2) {
      $status = "unmanaged";
   } elseif($status == 4) {
      $status = "warning";
   } elseif($status == 5) {
      $status = "minor";
   } elseif($status == 6) {
      $status = "major";
   } elseif($status == 7) {
      $status = "critical";
   } else {
      $status = "unknown";
   }

   $childnode = $doc->createElement("event");
   $newnode = $parnode->appendChild($childnode);

   $newnode->setAttribute("id", $row['id']);
   $newnode->setAttribute("nms", $row['reporting_nms']);
   $newnode->setAttribute("status", $status);
   $newnode->setAttribute("date", $row['date']);
   $newnode->setAttribute("time", $row['time']);
   $newnode->setAttribute("description", $row['description']);
}

$xmlfile = $doc->saveXML();
echo $xmlfile;

?>

有什么帮助吗?

4

0 回答 0