Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- From: Dodger <el.dodgero@xxxxxxxxx>
- Date: Fri, 21 Dec 2007 15:29:39 -0800 (PST)
On Dec 21, 3:27 pm, Dodger <el.dodg...@xxxxxxxxx> wrote:
On Dec 21, 3:10 pm, Dodger <el.dodg...@xxxxxxxxx> wrote:
Currently I'm doing this:
use CGI();
my $cgi = new CGI;
$cgi = new CGI($cgi->param('POSTDATA'));
... in order to get the data an XMLHTTPRequest object sends through on
a POST request, because everything goes under the POSTDATA param as a
query string. AND can I just say... Yuck!
Anyway, my solution seems kludgy and I don't like it. It smells funny.
CGI.pm docs mention a class method restore_parameters() that works
like so:
open (IN,"test.in") || die;
restore_parameters(IN);
close IN;
...but there's no other mention of it, and no mention of an object
method. I can't stand using the functional interface for CGI.pm.
Isn't there any way to just reset an existing CGI object directly
without calling the constructor all over again?
--
Sean 'Dodger' Cannon
Actually, even that's not working right. Dammit.
According to the docs, I can create a new CGI object with a properly
formatted query string as an argument and *those* params are supposed
to be what it parses.
Quoth the docs:
"or from a properly formatted, URL-escaped query string:
$query = new CGI('dinosaur=barney&color=purple');"
But if I try this, and even if I am VERY careful to make sure it's in
scalar context:
use CGI();
my $cjax = new CGI;
my $POSTDATA = $cjax->param('POSTDATA');
undef $cjax;
my $cgi = new CGI($POSTDATA);
I still get back:
print join ', ', $cgi->param();
prints:
POSTDATA
So WTF??
BTW -- yes, POSTDATA taken as a param does contain a properly
formatted string, like so:
POSTDATA: pixel=43:62:yellow:8&pixel=43:65:yellow:8&pixel=43:76:yellow:
8&pixel=43:84:yellow:8&pixel=45:94:yellow:8&pixel=45:98:yellow:
8&pixel=45:102:yellow:8...etc...
So the string is right. I should definitely not need to write this to
a file, and honestly if the docs are being wrong about this part, I
don't expect them to br right about reading from a file, either.
.
- Follow-Ups:
- References:
- Prev by Date: Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- Next by Date: CGI.pm and ModPerl::Registry
- Previous by thread: Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- Next by thread: Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- Index(es):
Relevant Pages
|
|