Hi monks,

As i did before. i try to play around with datatables from
http://www.datatables.net/release-datatables/examples/server_side/server_side.html

so i picked up a easy sample from the site to practice. I have copy a js to local server. and amke a minor change to server_side.html i just change
"sAjaxSource": "scripts/server_processing.php"
to
"sAjaxSource": "scripts/server_processing.cgi"

So what i should do is make server_processing.cgi to reutrn a valid json response to javascripts. your could get php's response from http://www.datatables.net/release-datatables/examples/server_side/scripts/server_processing.php and it also published on the site as well. http://www.datatables.net/release-datatables/examples/server_side/server_side.html

here is how i did in perl

#!c:/perl/bin/perl.exe ## test use CGI; use strict; use warnings; my $json = '{"sEcho":0,"iTotalRecords":"57","iTotalDisplayRecords":"57 +","aaData":[["Trident","Internet Explorer 4.0","Win 95+","4","X"],["T +rident","Internet Explorer 5.0","Win 95+","5","C"],["Trident","Intern +et Explorer 5.5","Win 95+","5.5","A"],["Trident","Internet Explorer 6 +","Win 98+","6","A"],["Trident","Internet Explorer 7","Win XP SP2+"," +7","A"],["Trident","AOL browser (AOL desktop)","Win XP","6","A"],["Ge +cko","Firefox 1.0","Win 98+ \/ OSX.2+","1.7","A"],["Gecko","Firefox 1 +.5","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Firefox 2.0","Win 98+ \/ + OSX.2+","1.8","A"],["Gecko","Firefox 3.0","Win 2k+ \/ OSX.3+","1.9", +"A"],["Gecko","Camino 1.0","OSX.2+","1.8","A"],["Gecko","Camino 1.5", +"OSX.3+","1.8","A"],["Gecko","Netscape 7.2","Win 95+ \/ Mac OS 8.6-9. +2","1.7","A"],["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"],[" +Gecko","Netscape Navigator 9","Win 98+ \/ OSX.2+","1.8","A"],["Gecko" +,"Mozilla 1.0","Win 95+ \/ OSX.1+","1","A"],["Gecko","Mozilla 1.1","W +in 95+ \/ OSX.1+","1.1","A"],["Gecko","Mozilla 1.2","Win 95+ \/ OSX.1 ++","1.2","A"],["Gecko","Mozilla 1.3","Win 95+ \/ OSX.1+","1.3","A"],[ +"Gecko","Mozilla 1.4","Win 95+ \/ OSX.1+","1.4","A"],["Gecko","Mozill +a 1.5","Win 95+ \/ OSX.1+","1.5","A"],["Gecko","Mozilla 1.6","Win 95+ + \/ OSX.1+","1.6","A"],["Gecko","Mozilla 1.7","Win 98+ \/ OSX.1+","1. +7","A"],["Gecko","Mozilla 1.8","Win 98+ \/ OSX.1+","1.8","A"],["Gecko +","Seamonkey 1.1","Win 98+ \/ OSX.2+","1.8","A"],["Gecko","Epiphany 2 +.20","Gnome","1.8","A"],["Webkit","Safari 1.2","OSX.3","125.5","A"],[ +"Webkit","Safari 1.3","OSX.3","312.8","A"],["Webkit","Safari 2.0","OS +X.4+","419.3","A"],["Webkit","Safari 3.0","OSX.4+","522.1","A"],["Web +kit","OmniWeb 5.5","OSX.4+","420","A"],["Webkit","iPod Touch \/ iPhon +e","iPod","420.1","A"],["Webkit","S60","S60","413","A"],["Presto","Op +era 7.0","Win 95+ \/ OSX.1+","-","A"],["Presto","Opera 7.5","Win 95+ +\/ OSX.2+","-","A"],["Presto","Opera 8.0","Win 95+ \/ OSX.2+","-","A" +],["Presto","Opera 8.5","Win 95+ \/ OSX.2+","-","A"],["Presto","Opera + 9.0","Win 95+ \/ OSX.3+","-","A"],["Presto","Opera 9.2","Win 88+ \/ +OSX.3+","-","A"],["Presto","Opera 9.5","Win 88+ \/ OSX.3+","-","A"],[ +"Presto","Opera for Wii","Wii","-","A"],["Presto","Nokia N800","N800" +,"-","A"],["Presto","Nintendo DS browser","Nintendo DS","8.5","C\/A<s +up>1<\/sup>"],["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"],["KHTML" +,"Konqureror 3.3","KDE 3.3","3.3","A"],["KHTML","Konqureror 3.5","KDE + 3.5","3.5","A"],["Tasman","Internet Explorer 4.5","Mac OS 8-9","-"," +X"],["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"],["Tasma +n","Internet Explorer 5.2","Mac OS 8-X","1","C"],["Misc","NetFront 3. +1","Embedded devices","-","C"],["Misc","NetFront 3.4","Embedded devic +es","-","A"],["Misc","Dillo 0.8","Embedded devices","-","X"],["Misc", +"Links","Text only","-","X"],["Misc","Lynx","Text only","-","X"],["Mi +sc","IE Mobile","Windows Mobile 6","-","C"],["Misc","PSP browser","PS +P","-","C"],["Other browsers","All others","-","-","U"]]}'; my $cgi = CGI->new; print $cgi->header( 'application/json' ); print $json;

However when i run the page server_side.html on local server. it returns error
The error message is :
Datatables varning (table id = 'example'): requested unknow parameter '1' from the data source for row 0

I wonder what is the problem? it seems above perl scirpt did not return a right jason response to datatables? Any ideas?

Thanks in advance.

In reply to Right format of json response from Perl to datatables??? by courierb

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.