这两个调用真的有区别吗?如果使用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/