gpt4 book ai didi

javascript - 如何基于stdout和stderr验证来自nodejs的 Angular 后调用

转载 作者:行者123 更新时间:2023-12-03 07:43:59 25 4
gpt4 key购买 nike

我正在使用 Angular-fullstack 生成器来创建 Web 应用程序。前端使用 AngularJS 设计,服务器端使用 NodeJS 设计。我编写了一个Python函数来了解主机是否是Linux主机,该函数通过nodejs调用并写入文件“这是有效的主机”(如果是有效的Linux主机)。如果主机是linux主机我想重定向到不同的页面。我的 Angular 代码:

$scope.sendlogin = function () { 
console.log("inside click");

var posting = $http({
method: 'POST',

url: '/login',
data: $scope.data,
processData: false
})
posting.success(function (response) {

$location.path("/vprobe");
});

}

我的 Node 代码:

app.post('/login', function (req, res) {
/* Handling the AngularJS post request and storing in a file*/
var fs = require("fs");
console.log(req.body);
var jsonfile = require('jsonfile')

var file = 'login.json'
var obj = req.body;

jsonfile.writeFile(file, obj, function (err) {
console.error(err)
})

// invoking python child process
var exec = require('child_process').exec;
var arg = 'python checkvalidity.py'
exec(arg, function(error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
console.log('exec error: ' + error);
res.send(stdout);
});

});

但是上面的代码无法正常工作。对于 stdout 和 stderr 来说,它重定向到页面。标准输出读取内容为“这是有效主机”的文件。如何仅在 stdout 的情况下重定向,并在出现错误时显示错误。

最佳答案

也许在你的nodeJs代码中使用 res.sendStatus(500) if (!stdout ) 并用 .error(function(response)) 在你的 Angular Controller 中捕获它

关于javascript - 如何基于stdout和stderr验证来自nodejs的 Angular 后调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35284889/

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