difference between $.getJSON and $.get

后端 未结 3 669
轮回少年
轮回少年 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:03

    I think the documentation explains it quite clearly!

    http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype

    Load a remote page using an HTTP GET request.

    http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

    Load JSON data using an HTTP GET request.

    Remember, these are just abstractions of the .ajax method

    0 讨论(0)
  • 2020-12-14 08:14

    The differences between $.getJSOn and $.get are in parameters:

    1. $.getJSON accepts plain objects as data while $.get accepts plain objects or string.
    2. $.get has dataType parameter.

    So, using $.get with dataType: JSON would work exactly the same as $.getJSON.

    0 讨论(0)
  • 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).

    0 讨论(0)
提交回复
热议问题