Neden ama PHP ile benim jqGrid komut iş ince Perl ile başarısız?

1 Cevap php

Burada müşteri Yan kodu:

jQuery(document).ready(function(){
  jQuery("#list").jqGrid({
    url:'example.php',
    datatype: 'xml',
    mtype: 'GET',
    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} ],
  });
});

İşte example.php kodu:

<?php 

header("Content-type: text/xml;charset=utf-8");
print "<?xml version='1.0' encoding='utf-8'?>";
print "<rows>";
print "<page>1</page>";
print "<total>1</total>";
print "<records>1</records>";

print "<row>";
print "<cell>0</cell>";
print "<cell>08-01-03</cell>";
print "<cell>2</cell>";
print "<cell>4</cell>";
print "<cell>12</cell>";
print "<cell><![CDATA[Aiutooooooooo]]></cell>";
print "</row>";
print "</rows>"; 
?>

Till now everything is just fine, but if now I try to get xml data from my perl cgi script it won't work, and data is not displayed.

İşte Perl kodları:

#!/usr/bin/perl

use CGI;

print CGI->header("Content-type: text/xml;charset=utf-8");
print "<?xml version='1.0' encoding='utf-8'?>";
print "<rows>";
print "<page>1</page>";
print "<total>1</total>";
print "<records>1</records>";

print "<row>";
print "<cell>0</cell>";
print "<cell>08-01-03</cell>";
print "<cell>2</cell>";
print "<cell>4</cell>";
print "<cell>12</cell>";
print "<cell><![CDATA[Aiutooooooooo]]></cell>";
print "</row>";
print "</rows>";

ve jqGrid kodu ben 'cgi-bin/example.pl' = url koymak,

Anlaşıldığı gibi perl ve php kodları benzer ama neden aynı şeyi yapmıyorsun?

If you got any hints on how to debug this, please forward. Thanks,

1 Cevap

Birkaç öneri:

#1: jQuery kodunda bu var:

url:'example.php'

ancak o zaman Perl kodu için bu onu değiştirmek olduğunu söylüyorlar:

url = 'cgi-bin/example.pl'

Doğru, o bir bir cgi-bin/ öneki ve diğer olmamasıdır?

#2: Eğer sadece Perl script URL adresinden tarayıcı işaret ne olur? Bu XML gösterir mi? Ne ben merak web sunucu doğru PHP çalıştırmak için yapılandırılmış olup olmadığını, ancak not doğru Perl çalışacak şekilde yapılandırıldı.

(Ben bir Perl adam değilim gerçi) Edit - #3: Eğer Perl CGI modülü kullanıyorsanız yolu bana tuhaf görünüyor. Ben bu daha deyimsel kullanımı olduğunu düşünüyorum:

use CGI;
my $cgi = new CGI;
print $cgi->header("Content-type: text/xml;charset=utf-8");

Bu yardımcı olur mu?