I have stared at the docs for a while and still don't understand the
purpose of the option 4th parameter
in the $.post() method. The wording and examples at
http://docs.jquery.com/Ajax/jQuery.post seem odd. E.g:

[quote]
Gets the test.php page contents which has been returned in json format
(<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>)

$.post("test.php", { func: "getNameAndTime" },
  function(data){
    alert(data.name); // John
    console.log(data.time); //  2pm
  }, "json");
[/quote]

We submit a POST request to test.php with parameter func =
'getNameAndTime' -- presumably for test.php's benefit so it can call
that function, right? I think that's a little obscure in this example.

Then we have an anonymous callback function that fires upon completion
of a successful xhr request, its input parameter being 'data' which is
the response body of the xhr object, right?

In this instance, 'data' is an object -- a hash, an associative array,
what have you. So if that's what it is, then it is what it is, so to
speak. Is it not? I would expect that internally, JQuery would detect
the content-type header indicating JSON and eval the xhr response body
automatically. The server side would (and should) be responsible for
sending the proper content-type.

Am I to understand that in this example test.php might as well send
plain old text/html, and the type hint "json" instructs JQuery to eval
it?

Reply via email to