gpt4 book ai didi

javascript - 来自 http get 的平均返回值

转载 作者:行者123 更新时间:2023-12-03 11:16:08 25 4
gpt4 key购买 nike

我正在学习设置 MEAN 应用程序,但一直无法从网络服务将数据重新调整到我的应用程序中。仅仅返回一个简单的变量是没有问题的,但是如何从webservice返回结果呢?

网络服务的结果显示在终端控制台中,但不显示在前端( Angular )上。当我返回选项 var 时,它会显示在前端控制台中,但 Web 服务的结果不会显示。比我得到 $promise: Object, $resolved: false,

我正在使用 MEAN.js 构建它

这就是我目前所拥有的

shop.server.route.js

 'use strict';

/**
* Module dependencies.
*/
var shop = require('../../app/controllers/shop.server.controller.js');


module.exports = function(app) {

app.route('/shop')
.get(shop.listProducts);

};

shop.server.controller.js

'use strict';

var http = require('http'),
errorHandler = require('./errors.server.controller');

/**
* List of Products
*/
exports.listProducts = function(req, res) {

var options = {
host: 'http://api.example.com',
path: '/products?param1=1&param2=2'
};



req = http.get(options, function(res) {
var body = {};

res.on('data', function (chunk) {
body += chunk;
});

res.on('end', function () {
console.log('Got Response' + body );
});
});

req.on('error', function(err) {
console.log( err.message);
res.send('error:' + err.message);
});



};

最佳答案

Angular 使用异步处理和回调消化,这意味着您的 http 调用会重新运行一个 Promise 对象,该对象在数据到达时得到解析。

您应该使用 Angular 的 $http 服务。正如文档中提到的:

The $http service is a function which takes a single argument — a configuration object — that is used to generate an HTTP request and returns a promise with two $http specific methods: success and error.

您的代码应如下所示(在 Angular 一侧):

var params = {};
params.param1 = 'paramdata';

$http.get('/shop', params).
success(function(data, status, headers, config) {
// data will contain the results data
}).

error(function(data, status, headers, config) {
// data will contain any error data
});

随意使用文档扩展您的知识 - $http service

关于javascript - 来自 http get 的平均返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27342615/

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