当这个奇怪的javascript问题出现时,我正在阅读一个代码片段并弄清楚它是如何工作的。
在他们的javascript中,他们调用了
var apiUrl = '/api/v1/pin/?format=json&order_by=-id&offset='+String(offset);
...
$.get(apiUrl, function(pins) {
for (...; i < pins.objects.length; i++) ... // works fine
});
他们的 api 返回这个 json 格式:
{"meta": {"limit": 50, "next": "?limit=50&format=json&order_by=-id&offset=60", "offset":
10, "previous": null, "total_count": 79}, "objects": [ {...},{...}, ... ]}
我试图模仿它,但 $.get 从未接受我简化的 json 字符串。
// my attempt
$.get(myApiUrl, function(pins) {
for (...; i < pins.objects.length; i++) ... // ERROR: undefined length
});
我的 Json 字符串采用类似但缩短的格式。
{"objects": [{...},{...}, ... ]}
在我用谷歌搜索 $.getJson() 命令之前,我无法让它工作。我只是想知道为什么他们的 javascript 代码只使用 $.get 而我的必须使用 $.getJson?
是否可以设置某种标题以强制 javascript 将其读取为 json?