difference between $.getJSON and $.get
ajax, jquery, json
Solution
The following two snippets are equivalent:
$.get("/some/url", {data: "value"}, function(json) {
// use json here
}, "json")
$.getJSON("/some/url", {data: "value"}, function(json) {
// use json here
});
Saying that a request is for `JSON` means two things:
- jQuery sends an `Accept: application/json` header
- jQuery interprets the inbound response, converts it into a JavaScript Object, and passes it into the callback (so you don't have to mess with eval or other conversion mechanism).
A number of server-side frameworks (such as Rails) automatically detect the `Accept` header and handle the request appropriately. If you are using a different framework or rolling your own, you can inspect the `Accept` header to detect the format (instead of inspecting the parameters).
Problem
Is there really a difference in these two calls? If you use getJSON, you still have to declare `format=json` in the url... And you can do the same in `$.get()`, and iterate through the JSON-object. Or am I way off here?