You would normally expect that to work.
What content-type is your server putting in the header for the JSON data?
That could be throwing it off.
Also note that a bare primitive value (true, false, null, or a string or
number) is not valid JSON. The only valid JSON is either an object enclosed
in {} or an array enclosed in []. However, this is not what's causing your
problem. jQuery doesn't use a strict JSON parser - it simply evals the JSON
text - so a bare primitive value should work fine if everything else is OK.
-Mike
On Thu, Nov 19, 2009 at 11:08 AM, livefree75 <[email protected]> wrote:
> Hi,
>
> I'm using the following code on the client side:
> $.ajax({
> dataType : 'json',
> // other options
> success : function(json_response) {
> console.log(typeof response, response); // Using Firefox's
> firebug
> }
> });
>
> And this PHP code on the server side:
>
> <?php
> // php processing code
> $response = some_boolean_value();
> print json_encode($response);
> ?>
>
> Now, using Firebug, I can verify that the actual JSON response coming
> back is indeed either true or false (without the quotes),
> which should evaluate to Javascript boolean true or false. However,
> when I obtain it in the success() method of my $.ajax() call, it comes
> in as a string. (e.g. "true" or "false"). i.e., the console.log()
> call renders: string true
>
> Shouldn't it render: boolean true ?
>
> Is this a bug?
> Jamie
>