Ich benutze exec-Bibliothek, um R-Skript von Knoten js Express aufrufen. Unten ist mein Code:wie mehrere params in exec in node js übergeben
var exec = require("child_process").exec;
var param1 = some url;
var param2 = "hello";
var param3 = "world"
exec('Rscript pathtoscript/myScript.R"+" "+param1+" "+param2 , function(error, stdout, stderr) {
if (error) {
console.log(error);
res.send(error);
}
else if (stderr) {
console.log(stderr);
res.send(stderr);
}
else if (stdout) {
console.log("RAN SUCCESSFULLY");
res.json(stdout);
}
});
In dem obigen Code, wenn ich nur param2 und param3 r Skript übergeben in der Lage, sie zu identifizieren. Aber wenn ich url überlasse, wird nur ein Teil der URL als URL identifiziert und der Rest ist nicht (kann sein lang sein). Bitte vorschlagen. Dank
Sie brauchen mehr Kontext. Wie lautet die URL? Ist die URL [codiert] (https://www.w3schools.com/tags/ref_urlencode.asp)? Was ist mit den relevanten Abschnitten Ihres R-Skripts? Es besteht die Möglichkeit, dass Ihr Befehl fehlerhaft ist. Haben Sie versucht, Ihr Befehlsargument mit der Methode 'exec' zu" console.log "zu übersetzen? Funktioniert es von der Befehlszeile genau so, wie es gedruckt wurde? –