jquery - $.getJSON 和 $.get 之间的区别

标签 jquery ajax json

这两个调用真的有区别吗?如果使用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 header
  • jQuery 解释入站响应,将其转换为 JavaScript 对象,并将其传递给回调(因此您不必乱用 eval 或其他转换机制)。

许多服务器端框架(例如 Rails)会自动检测 Accept header 并适本地处理请求。如果您使用不同的框架或滚动自己的框架,您可以检查 Accept header 以检测格式(而不是检查参数)。

关于jquery - $.getJSON 和 $.get 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079205/

相关文章:

python - 为什么我无法在 Python 中打印 JSON 属性?我究竟做错了什么?

javascript - 如何异步加载 Controller 并将其附加到 Angular 模块

javascript - 如何在使用 Jquery 脚本时从 url 获取值?

JQueryclearTimeOut 不停止 setTimeOut 不工作

javascript - 哪种写内容人口的方式更好?

javascript - 访问以www开头的网页地址时没有 'Access-Control-Allow-Origin' header 。没有 www 它可以工作 - 为什么?

c# - 无法使用已与其底层 RCW 分离的 COM 对象

javascript - 通过一个按钮同时执行两个 JavaScript 函数?

json - 正则表达式模式的 Composer Json 验证错误 ^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{ 0,2})[a-z0-9]+)*$

java - Spring RestTemplate Jackson 反序列化数组数组