У меня проблемы с использованием Ebay API в моем приложении Angular.То, что я делаю, это получение данных от Ebay в форме JSON.Это все нормально, но я получаю эту ошибку:
Uncaught ReferenceError: _cb_findItemsByKeywords is not defined
См. Мой код TypeScript ниже:
import { Component, OnInit, Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http'
import { url } from 'inspector';
@Component({
selector: 'app-web-scrape',
templateUrl: './web-scrape.component.html',
styleUrls: ['./web-scrape.component.css']
})
@Injectable({
providedIn: 'root'
})
export class WebScrapeComponent implements OnInit {
_cb_findItemsByKeywords(root) {
var items = root.findItemsByKeywordsResponse[0].searchResult[0].item || [];
var html = [];
html.push('<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) {
html.push('<tr><td>' + '<img src="' + pic + '" border="0">' + '</td>' +
'<td><a href="' + viewitem + '" target="_blank">' + title + '</a></td></tr>');
}
}
html.push('</tbody></table>');
document.getElementById("results").innerHTML = html.join("");
} // End _cb_findItemsByKeywords() function
ngOnInit() {
var url = "https://svcs.ebay.com/services/search/FindingService/v1";
url += "?OPERATION-NAME=findItemsByKeywords";
url += "&SERVICE-VERSION=1.0.0";
url += "&SECURITY-APPNAME=ConorRaf-TheEazyT-PRD-d55b8f6ea-a1f297a5";
url += "&GLOBAL-ID=EBAY-US";
url += "&RESPONSE-DATA-FORMAT=JSON";
url += "&callback=_cb_findItemsByKeywords";
url += "&REST-PAYLOAD";
url += "&keywords=harry%20potter";
url += "&paginationInput.entriesPerPage=3";
console.log("hello from ts");
var s=document.createElement('script'); // create script element
s.src = url;
console.log(s.src)
document.body.appendChild(s);
}
}
Код компилируется нормально и возвращает какие-то объекты JSON, но яполучить эту ошибку в консоли:
Ошибка, кажется, в обратном вызове:
HTML только для справки:
<html>
<head>
<title>eBay Search Results</title>
</head>
<body>
<h1>eBay Search Results</h1>
<div id="results"></div>
</body>
</html>