angularjs$http.get-Request在易趣上获取json不';行不通
我很困惑。。请帮帮我angularjs$http.get-Request在易趣上获取json不';行不通,json,angularjs,http,ebay-api,Json,Angularjs,Http,Ebay Api,我很困惑。。请帮帮我 当我提出易趣搜索请求时: 在我的浏览器中,它显示一个JSON。我将JSON复制到我的Web空间中名为v1的文件中: 对我的Web空间的$http.get-Request为我提供了JSON: var AutApp=angular.module('AutApp',[]); 控制器('ctrl',函数($scope,$http){ $scope.search\u ebay=功能(键){ //变量url=”http://svcs.ebay.com/services/search
当我提出易趣搜索请求时:
在我的浏览器中,它显示一个JSON。我将JSON复制到我的Web空间中名为v1的文件中:
对我的Web空间的$http.get-Request为我提供了JSON:
var AutApp=angular.module('AutApp',[]);
控制器('ctrl',函数($scope,$http){
$scope.search\u ebay=功能(键){
//变量url=”http://svcs.ebay.com/services/search/FindingService/v1";
变量url=”http://bloxxer.net/autentik/v1";
url+=“?操作名称=FindItemsByWords”;
url+=“&SERVICE-VERSION=1.0.0”;
url+=“&SECURITY-APPNAME=ID”;//在没有ID的易趣上不起作用
url+=“&GLOBAL-ID=EBAY-US”;
url+=“&RESPONSE-DATA-FORMAT=JSON”;
url+=“&REST-PAYLOAD”;
url+=“&keywords=fahrrad”//+键;
url+=“&paginationInput.EntriesPage=3”;
$http.get(url)。
成功(功能(数据){
var items=data.findItemsByWordsResponse[0]。搜索结果[0]。项| |[];
var html=[];
$scope.ebay_suchergebnis='';
对于(变量i=0;i
但是如果我将$http.get-Request更改为svcs.ebay.com(使用我的ID),它会给我“null#0”。
有人有主意吗?谢谢大家! 解决方法很简单。。与cors和co.无关。。只需在服务器上绕道而行:
<?php
$url = "http://svcs.ebay.com/services/search/FindingService/v1";
$url .= "?OPERATION-NAME=findItemsByKeywords";
$url .= "&SERVICE-VERSION=1.0.0";
$url .= "&SECURITY-APPNAME=YOUR_ID_IN_EBAY";
$url .= "&GLOBAL-ID=EBAY-US";
$url .= "&RESPONSE-DATA-FORMAT=JSON";
$url .= "&REST-PAYLOAD";
$url .= "&".$_SERVER["QUERY_STRING"];
$json = file_get_contents($url);
echo $json;
它之所以给你这个,是因为你的代码将它设置为$scope.ebay_suchergebnis=data+“#”+status
。打开浏览器开发工具,查看网络面板。您甚至可能无法向易趣发送请求,因为他们尚未启用跨域请求。@谢谢您的完美提示!现在我必须搜索如何在没有angularjs的情况下完成它:)
AutApp.controller('ctrl', function($scope,$http) {
$scope.search_ebay = function(keys,anzahl) {
var url='http://YourDomain.com/json_abfragen.php?keywords='+keys+"&paginationInput.entriesPerPage="+anzahl;
$http.get(url).
success(function(data) {
var items = data.findItemsByKeywordsResponse[0].searchResult[0].item || [];
var ebay_suchergebnis='<table><tr>';
for (var i = 0; i < items.length; ++i) {
var item = items[i];
if (null != item.title && null != item.viewItemURL) {
ebay_suchergebnis+='<td><a href="' + item.viewItemURL + '" target="_blank"><img src="'+item.galleryURL+'"><br>' + items[i].title + '</a></td>';
}
}
ebay_suchergebnis+='</tr></table>';
document.getElementById('here').innerHTML=ebay_suchergebnis;
})
.
error(function(data,status) {
// errorprocessing
});
};
});