gpt4 book ai didi

javascript - Node js 和 eBay API 实现

转载 作者:行者123 更新时间:2023-11-29 22:00:45 25 4
gpt4 key购买 nike

我是一个 Node JS 初学者,我需要帮助将控制台日志数据导出到 HTML 页面。

我在 GitHub 上找到了这个很好的例子:https://github.com/benbuckman/nodejs-ebay-api

我的问题是:我设法根据我的需要实现它 - 但我没有设法从控制台日志中提取数据!我只是想在浏览器中显示它,而不是在控制台日志中。

有什么建议吗?

目前我正在处理“单个”示例 - 这是我目前的代码,其中有很多错误:

// example simple request to FindingService:findItemsByKeywords

var ebay = require('../index.js');
var http = require('http');

var express = require('express');
var app = express();
var io = require('socket.io');


app.set('port', process.env.PORT || 5000);

app.get('/get', function(req, res) {
console.log('inside get');
// for avoiding crossbrowser-error
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
res.header('Content-Type','application/json');
var params = {};

params.keywords = [ "cat"];
params['paginationInput.entriesPerPage'] = 10;
ebay.ebayApiGetRequest({
serviceName: 'FindingService',
opType: 'findItemsByKeywords',
appId: 'MYAPPID', // FILL IN YOUR OWN APP KEY, GET ONE HERE: https://publisher.ebaypartnernetwork.com/PublisherToolsAPI
params: params,
// filters: filters,
parser: ebay.parseItemsFromResponse // (default)
},
// gets all the items together in a merged array
function itemsCallback(error, items) {
if (error) throw error;

console.log('Found', items.length, 'items');

for (var i = 0; i < items.length; i++) {
console.log('- ' + items[i].title);
}
}
);
});


http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});

console.log('Listening on port 5000...');

最佳答案

看起来您正在使用 Express,并在 URL /get 上指定了一个 GET API 端点。据我了解,您希望看到浏览器的输出而不仅仅是控制台(您可以通过 console.log 消息看到的控制台)。 Express 会将您在 res.send() 中输入的内容返回给发出 HTTP 请求的用户。因此,例如,如果您要添加:

res.send("hello");

到 `app.get' 函数的末尾,您会在浏览器中看到“hello”。请注意,您只能这样做一次,因此您需要将要发送到浏览器的所有信息捆绑在一个对象中,然后再发送。

您想要查看的似乎是从 itemsCallback 函数中收集的数据。所以为了简单起见,您可以将 items 发回。例如:

function itemsCallback(error, items) {
if (error) throw error;

console.log('Found', items.length, 'items');

for (var i = 0; i < items.length; i++) {
console.log('- ' + items[i].title);
}

res.send(items); // sends the items in the HTTP response
}

作为旁注,您不需要包含 http 模块,而是可以像这样启动服务器:

app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});

关于javascript - Node js 和 eBay API 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23903273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com