javascript错误[jsonFlickrApi未定义]
我调用一个FLickrAPI,它返回一个如下所示的javascript错误[jsonFlickrApi未定义],javascript,json,api,flickr,Javascript,Json,Api,Flickr,我调用一个FLickrAPI,它返回一个如下所示的xmlhttp.responseText: jsonFlickrApi({"photos":{"page":1, "pages":200, "perpage":100, "total":"19934", "photo":[{"id":"7315581986", "owner":"62691288@N00", "secret":"504915125a", "server":"7090", "farm":8, "title":"China, Ti
xmlhttp.responseText
:
jsonFlickrApi({"photos":{"page":1, "pages":200, "perpage":100, "total":"19934",
"photo":[{"id":"7315581986", "owner":"62691288@N00", "secret":"504915125a",
"server":"7090", "farm":8, "title":"China, Tiananmen Square", "ispublic":1,
"isfriend":0, "isfamily":0}, {"id":"7308693706",
...
var jsonResponse = xmlhttp.responseText ;
jsonResponse = eval("("+jsonResponse + ")");
var output += jsonResponse.photos.photo[1].id ;
alert(output);
我试着这样解析它:
jsonFlickrApi({"photos":{"page":1, "pages":200, "perpage":100, "total":"19934",
"photo":[{"id":"7315581986", "owner":"62691288@N00", "secret":"504915125a",
"server":"7090", "farm":8, "title":"China, Tiananmen Square", "ispublic":1,
"isfriend":0, "isfamily":0}, {"id":"7308693706",
...
var jsonResponse = xmlhttp.responseText ;
jsonResponse = eval("("+jsonResponse + ")");
var output += jsonResponse.photos.photo[1].id ;
alert(output);
Firebug告诉我:jsonFlickrApi未定义
- 为什么我会收到此错误消息
- 为什么我必须首先使用“eval”
jsonFlickrApi
,当响应可用时就会调用该函数:
function jsonFlickrApi (response) {
console.log(
"Got response from Flickr-API with the following photos: %o",
response.photos
);
// Handle the response here. I.E update the DOM, trigger event handlers etc.
}
// Later in your XMLHttpRequest code:
var jsonResponse = xmlhttp.responseText ;
// This will call the jsonFlickrApi-function.
eval("("+jsonResponse + ")");
看起来您得到的是对请求的响应,而不是JSON响应。是一个JSON对象,包装在函数调用中。因此,只需定义函数jsonFlickrApi
,当响应可用时就会调用该函数:
function jsonFlickrApi (response) {
console.log(
"Got response from Flickr-API with the following photos: %o",
response.photos
);
// Handle the response here. I.E update the DOM, trigger event handlers etc.
}
// Later in your XMLHttpRequest code:
var jsonResponse = xmlhttp.responseText ;
// This will call the jsonFlickrApi-function.
eval("("+jsonResponse + ")");
是否正确导入了包含jsonFlickrApi()函数的.js文件?请发布这些代码和其他任何可以让我们更完整了解的代码。您是否正确导入了包含jsonFlickrApi()函数的.js文件?请张贴该代码和任何其他将给我们一个更完整的图片。