Problem getting response data from ebay API call
Problem getting response data from ebay API call
I want to fetch JSON data from eBay Sandbox using JavaScript
I tried getting it through CORS request (as it is a cross domain request) but it returns undefined. I tried lots of different code but I haven't found any solutions.
What I want to do is that fetch the products from eBay and display them in my Chrome extension.
Any help is appreciated.
2 Answers
2
You can send a GET request to the URL.
const http = require('http');
let url = 'http://svcs.sandbox.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsByKeywords&SERVICE-VERSION=1.0.0&SECURITY-APPNAME=NiraliAc-FlashSal-SBX-7d56b4536-d82a9262&GLOBAL-ID=EBAY-US&RESPONSE-DATA-FORMAT=JSON&callback=_cb_findItemsByKeywords&REST-PAYLOAD&keywords=harry%20potter&paginationInput.entriesPerPage=3&itemFilter(0).name=MaxPrice&itemFilter(0).value=25&itemFilter(0).paramName=Currency&itemFilter(0).paramValue=USD&itemFilter(1).name=FreeShippingOnly&itemFilter(1).value=true&itemFilter(2).name=ListingType&itemFilter(2).value(0)=AuctionWithBIN&itemFilter(2).value(1)=FixedPrice&itemFilter(2).value(2)=StoreInventory';
http.get(url, res =>
let body = '';
res.on('data', data => body += data);
res.on('end', () =>
console.log(body);
);
);
Reference error: require is not defined
You can use jQuery $.get() method, or
XMLHttpRequest
as in this page.– Emre Tapcı
Sep 16 '18 at 16:53
XMLHttpRequest
It will give an error as it a cross domain request. I already tried that.
– Nirali Acharya
Sep 16 '18 at 18:00
Hey thanks for help. I found a solution. I have added it as an answer.
– Nirali Acharya
Sep 16 '18 at 18:35
I found a solution by making a CORS request and using the CORS Anywhere API from https://github.com/Rob--W/cors-anywhere/
var cors_api_url = 'https://cors-anywhere.herokuapp.com/';
function doCORSRequest(options, printResult)
var x = new XMLHttpRequest();
x.open(options.method, cors_api_url + options.url);
x.onload = x.onerror = function() ;
x.send(options.data);
(function()
var outputField = document.getElementById('output');
new1();
function new1()
// e.preventDefault();
doCORSRequest(
method: 'GET',
url: url,
, function printResult(result)
//result contains the response
//write your code here
);
;
)();
Source: https://github.com/Rob--W/cors-anywhere/blob/master/demo.html
(Live example: https://robwu.nl/cors-anywhere.html)
Thanks for contributing an answer to Stack Overflow!
But avoid …
To learn more, see our tips on writing great answers.
Required, but never shown
Required, but never shown
By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy
I am working with javascript in browser. It gives
Reference error: require is not defined
– Nirali Acharya
Sep 16 '18 at 16:44