.stayssame {
position: relative;
}
#headline{
position: absolute;
top: 50%;
left: 0;
right: 0;
transform: translateY(-50%);
margin: auto;
}

angular.module('BeautyCare', ['ionic'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('tabs', {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
.state('tabs.Store', {
url: "/Store",
views: {
'Store-tab': {
templateUrl: "templates/Store.html",
controller: 'StoreTabCtrl'
}
}
})
.state('tabs.SalonGalary', {
url: "/SalonGalary",
views: {
'SalonGalary-tab': {
templateUrl: "templates/SalonGalary.html",
controller :'SalonGalaryCtrl'
}
}
})
.state('tabs.Profile', {
url: "/Profile",
views: {
'Profile-tab': {
templateUrl: "templates/Profile.html"
}
}
})
.state('tabs.Alerts', {
url: "/Alerts",
views: {
'Alerts-tab': {
templateUrl: "templates/Alerts.html"
}
}
});
$urlRouterProvider.otherwise("/tab/Store");
});
.controller('StoreTabCtrl', function($scope,$http,$log) {
var items =null;
$log.debug('start debug');
var url="http://open.api.ebay.com/shopping?GLOBAL-ID=EBAY-IN&QueryKeywords=Iphone&ResponseEncodingType=JSON";
url+="&appid=API_ID&callback=JSON_CALLBACK._0";
url+="&callname=FindPopularItems&version=713?callback=JSON_CALLBACK";
$log.debug($http.jsonp(url)
.success(function(data) {
items=data;
console.log(items);
})
.error(function(data) {
//alert("ERROR");
}));
});

我尝试使用$ http.get没有运气,代码显示意外错误。 我感谢任何帮助解决此问题或解决方法使用$ http.get。我尝试了不同的例子,但仍未解决问题。提前致谢
答案 0 :(得分:0)
让我们仔细看看您尝试发送到eBay API的网址:
http://open.api.ebay.com/shopping?GLOBAL-ID=EBAY-IN&QueryKeywords=Iphone&
ResponseEncodingType=JSON&appid=Mawsem77f-2832-4be9-93d8-e257a245be3&
callback=JSON_CALLBACK._0&callname=FindPopularItems&version=713?callback=JSON_CALLBACK
我计算了三个问题:
version
参数的值无效:713?callback=JSON_CALLBACK
。此参数似乎需要数字值。请注意,URL的这一部分已经在查询字符串中,因此这里的?
不会被解释为查询字符串的开头或作为参数分隔符。
如果URL末尾的callback=JSON_CALLBACK
应该是另一个URL参数名称和值,那么您已使用两个不同的值指定了callback
参数。您只需要指定一次此参数,并且还需要考虑使用哪个值。
当您创建JSONP request时,您需要指定函数的名称以包装返回的JSON。但是,根据eBay API documentation,您使用了错误的参数回调函数的名称。如果参数callback
的值为true
,则响应将包含在对名为_cb_FindPopularItems
的函数的调用中。此参数的其他值似乎被忽略。您似乎想要使用callbackname
参数。因此,请尝试从您的网址中删除callback
个参数,然后添加callbackname=JSON_CALLBACK
或callbackname=JSON_CALLBACK._0
(不清楚您打算使用哪个参数)。
这也解释了语法错误:假设对JSONP请求的响应是可执行的JavaScript,但您获得的响应实际上是一些JSON数据。
我没有对此进行过测试,但我希望以下网址(包含可读性)可以正常工作。您可能需要将._0
后缀添加到回调名称中:
http://open.api.ebay.com/shopping?GLOBAL-ID=EBAY-IN&QueryKeywords=Iphone&
ResponseEncodingType=JSON&appid=Mawsem77f-2832-4be9-93d8-e257a245be3&
callbackname=JSON_CALLBACK&callname=FindPopularItems&version=713
最后,请考虑更改您的易趣应用ID。您现在已将其发布在公共互联网上,任何查看此问题的人现在都可以使用它。我之前从未使用过eBay及其API,所以我会让你知道如何做到这一点。