Basically, the 4th parameter tells jQuery what to do with the response
data.

JSON indicates you're expecting a JSON string as the post response.
'xml' indicates you want the return text parsed as XML (true AJAX).
'html' means it's coming in as, I think a jquery object. And text is
just text. Those are the basic ones I've seen used most of the time.

On Feb 3, 11:15 am, "maggus.staab" <markus.st...@redaxo.de> wrote:
> at api.jquery.com there is a well documented version..
>
> @api doc devel:
> would be nice if we can link to a specific api page...
>
> On 3 Feb., 16:55, Professor B <vtbludg...@gmail.com> wrote:
>
> > 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 
> > athttp://docs.jquery.com/Ajax/jQuery.postseemodd. 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