$ .getJSON和$ .get之间的差异
这两个电话真的有区别吗? 如果你使用getJSON,你仍然需要在url中声明format=json
…
你可以在$.get()
做同样的事情,并遍历JSON对象。
还是我离开这里?
以下两个片段是等效的:
$.get("/some/url", {data: "value"}, function(json) { // use json here }, "json") $.getJSON("/some/url", {data: "value"}, function(json) { // use json here });
说请求是针对JSON
意味着两件事:
- jQuery发送一个
Accept: application/json
头 - jQuery解释入站响应,将其转换为JavaScript对象,并将其传递给回调(因此您不必混淆eval或其他转换机制)。
许多服务器端框架(如Rails)自动检测Accept
标头并适当地处理请求。 如果您使用的是其他框架或自己滚动,则可以检查Accept
标头以检测格式(而不是检查参数)。
我认为文档很清楚地解释了它!
http://docs.jquery.com/Ajax/jQuery.get#urldatacallbacktype
使用HTTP GET请求加载远程页面 。
http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback
使用HTTP GET请求加载JSON 数据 。
请记住,这些只是.ajax方法的抽象
$ .getJSOn和$ .get之间的差异在参数中:
- $ .getJSON接受普通对象作为数据,而$ .get接受普通对象或字符串。
- $ .get有dataType参数。
因此,使用$ .get和dataType:JSON将与$ .getJSON完全相同。