difference between $.getJSON and $.get

后端 未结 3 673
轮回少年
轮回少年 2020-12-14 07:41

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

3条回答
  •  天命终不由人
    2020-12-14 08:16

    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).

提交回复
热议问题