HTTP parameters are key/value pairs. If you have an object like:

var json = {
  foo: 'bar',
  boo: 'far'
};

It will get converted into HTTP parameters foo=bar and boo=far.

In your example, you have one key, "Request", and its value is an object.
Converting the value (a JavaScript object) to a string yields "[object
Object]", which is what you're seeing. If you were expecting to get complex
PHP objects on your server side, you're mistaken about how HTTP parameters
work :)

Basically, make your JSON object only one level deep and you should be fine.

Hope it helps.

--Erik


On 7/15/08, jlb <[EMAIL PROTECTED]> wrote:
>
>
> According to the jQuery docs, the data option (in $.ajax) is supposed
> to accept a string or an object (which it then converts to a query
> string).  It appears as though its not converting my object:
>
>
> My Javascript is:
>
>         var json = {
>           "Request" : {
>               "action"     : "doSomething",
>               "params"   : {"id":"123"}
>           }
>        };
>
>         $.ajax({
>             type: "POST",
>             url: WEB_DOMAIN + "/api.php",
>             data: json
>         });
>
> In api.php contains:
>
>   <?php var_dump($_REQUEST['Request']); ?>
>
> Which outputs:
>
> string(15) "[object Object]"
>
>
> Does anyone know what I'm doing wrong?
>

Reply via email to