json - angularjs $http.get-Request for json on ebay 不起作用

标签 json angularjs http ebay-api

<分区>

我很困惑..请帮帮我
当我发出 ebay-search-Request 时:

http://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsByKeywords&SERVICE[...]

在我的浏览器中,它显示了一个 JSON。我将 JSON 复制到我的网站空间中一个名为 v1 的文件中:

http://bloxxer.net/autentik/v1?OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.0.0&SECURITY-APPNAME=blabla;D&GLOBAL-ID=EBAY-US&RESPONSE-DATA-FORMAT=JSON&REST-PAYLOAD&keywords=fahrrad&paginationInput.entriesPerPage=3&itemFilter(0).name=MaxPrice&itemFilter(0).value=25&itemFilter(0).paramName=Currency&itemFilter(0).paramValue=EUR&itemFilter(1).name=ListingType&itemFilter(1).value(0)=AuctionWithBIN&itemFilter(1).value(1)=FixedPrice

对我的网站空间的 $http.get-Request 给我 JSON:

var AutApp = angular.module('AutApp', []);

AutApp.controller('ctrl', function($scope,$http) {

    $scope.search_ebay = function(keys) {
    //    var url = "http://svcs.ebay.com/services/search/FindingService/v1";
        var url = "http://bloxxer.net/autentik/v1";
            url += "?OPERATION-NAME=findItemsByKeywords";
            url += "&SERVICE-VERSION=1.0.0";
            url += "&SECURITY-APPNAME=ID"; // doesnt work on ebay without ID
            url += "&GLOBAL-ID=EBAY-US";
            url += "&RESPONSE-DATA-FORMAT=JSON";
            url += "&REST-PAYLOAD";
            url += "&keywords=fahrrad";// + keys;
            url += "&paginationInput.entriesPerPage=3";
        $http.get(url).
        success(function(data) {
            var items = data.findItemsByKeywordsResponse[0].searchResult[0].item || [];
            var html = [];
            $scope.ebay_suchergebnis='<table width="100%" border="0" cellspacing="0" cellpadding="3"><tbody>';
            for (var i = 0; i < items.length; ++i) {
                var item     = items[i];
                var title    = item.title;
                var pic      = item.galleryURL;
                var viewitem = item.viewItemURL;
                if (null != title && null != viewitem) {
                  $scope.ebay_suchergebnis+='<tr><td><a href="' + viewitem + '" target="_blank">' + '<img src="' + pic + '" border="0">' + title + '</a></td></tr>';
                }
            }
        })
        .
        error(function(data,status) {
            $scope.ebay_suchergebnis=data+"#"+status;
        });
    };
    $scope.sucheingabe="";
});

但是如果我将 $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;

javascript:

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
        });
    };
});

关于json - angularjs $http.get-Request for json on ebay 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31296414/

相关文章:

android - 来自 Android 的 HTTP 补丁请求

http - 如果在创建资源之前主键未知,我将如何实现 RESTful PUT URL?

php - Android:比较json数据和String

javascript - 如何根据值访问 JSON 对象中的特定项目?

json - Typescript - 如何在 Angular2 中正确使用 jsPDF?

php - 如何使用 PHP 或 jQuery 在 JSON 文件中设置正确的 $key=>$value 关联

javascript - AngularJS:未知提供者:$scopeProvider <- $scope 错误(未在服务中注入(inject) $scope)

angularjs - 使用 angularFire 隐式同步访问 ng-repeat 中的 Firebase 唯一 ID

javascript - 在对等 AngularJS Controller 中重构一些重复代码以管理 $intervals 的想法

javascript - HTTP 上传 - 我怎么知道它已完成?