ank*_*itr 14 javascript jquery json flickr angularjs
我使用flickr照片搜索方法来检索公共照片.当我用jquery运行它,它工作正常,我得到正确形式的json对象.
{
"photos": {
"photo": [
{
.........
}
]
},
"stat": "ok"
}
Run Code Online (Sandbox Code Playgroud)
但是当我将它与AngularJs一起使用时,我得到了带有前缀jsonFlickrApi的相同对象
jsonFlickrApi({
"photos": {
"photo": [
{
......
}
]
},
"stat": "ok"
})
Run Code Online (Sandbox Code Playgroud)
我在AngularJs中使用的是:
myApp.service('dataService', function($http) {
delete $http.defaults.headers.common['X-Requested-With'];
this.flickrPhotoSearch = function() {
return $http({
method: 'GET',
url: 'https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=3f807259749363aaa29c2fa93945&tags=india&format=json&callback=?',
dataType: 'json'
});
}
});
Run Code Online (Sandbox Code Playgroud)
请告诉我如何将第二个JSON转换为第一个JSON.我可以在$http
调用中做什么或者必须改变JSON对象.
ank*_*itr 22
网址有问题.这个网址对我有用.
https://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos&api_key=3f807259749363aaa29c712fa93945&user_id=61495424@N00&format=json&nojsoncallback=?
Run Code Online (Sandbox Code Playgroud)
max*_*age 12
你必须在网址中添加nojsoncallback = 1,就像这样
https://api.flickr.com/services/rest/?method=flickr.photos.getRecent&api_key=XXX&format=json&nojsoncallback=1
Run Code Online (Sandbox Code Playgroud)
并在响应时删除jsonFlickrApi函数.
上面说添加的答案nojsoncallback=1
是正确的,但我想提供更多的上下文和背后的推理。
如果你看一下文档(我认为它的格式很差):https : //www.flickr.com/services/api/response.json.html并一直滚动到底部你会发现,藏起来离开:
Callback Function
If you just want the raw JSON, with no function wrapper, add the parameter nojsoncallback with a value of 1 to your request.
To define your own callback function name, add the parameter jsoncallback with your desired name as the value.
nojsoncallback=1 -> {...}
jsoncallback=wooYay -> wooYay({...});
Run Code Online (Sandbox Code Playgroud)
关键部分是:如果您只想要原始 JSON,没有函数包装器,请将值为 1 的参数 nojsoncallback 添加到您的请求中
因此,将此添加到您的请求中,它将删除jsonFlickrAPI
您在响应中看到的包装器:nojsoncallback=1
归档时间: |
|
查看次数: |
9506 次 |
最近记录: |