Re: Parsing AJAX post data -- The Way
| From: | Colin Guthrie | Date: | Thu, 25 Jan 2007 10:44:05 +0000 |
| Subject: | Re: Parsing AJAX post data -- The Way | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-247775@lists.php.net to get a copy of this message | ||
Stut wrote:
> M5 wrote:
>> Just wondering what smart people do for parsing data sent by the
>> Javascript XMLHTTP object--e.g., http.send("post",url,true)...
>>
>> In a normal form submit, the $_POST global nicely allocates form
>> elements as array elements automatically. But with the AJAX way, the
>> data get stuffed inside $HTTP_RAW_POST_DATA as a string, thereby
>> making extraction more tedious.
>
> What format is the data you are posting in? If it's in the usual format,
> PHP should parse it for you. An AJAX (hate that acronym) post request is
> no different to a normal post, unless you are not posting in the form
> format (var1=val2&var2=val2).
Yes, just to elaborate, consider the following (simple AJAX post (using
prototype.js as it's great!).
function SendRemote(action)
{
new Ajax.Request('backend.php', { parameters: 'submit='+action });
}
This sends a simple form POSTED to the server with one form element
(named "submit") which will be available to the server as $_POST['submit'].
If you want to add more, just use the & as Stut suggests, e.g.:
function SendRemote(action)
{
new Ajax.Request('backend.php', { parameters:
'submit='+action+'&var2=xxx' });
}
etc.
HTH
Col.