Javascript Node.js转换器
我正在尝试使用Node.JS为我的前端网页创建后端。该网页使用谷歌翻译API并翻译用户的单词。目前,当我将单词和语言硬编码到/从时,我能够让它工作。我想做的是检索他们输入的单词和他们想翻译的语言 来自前端的代码Javascript Node.js转换器,javascript,html,node.js,Javascript,Html,Node.js,我正在尝试使用Node.JS为我的前端网页创建后端。该网页使用谷歌翻译API并翻译用户的单词。目前,当我将单词和语言硬编码到/从时,我能够让它工作。我想做的是检索他们输入的单词和他们想翻译的语言 来自前端的代码 函数translateWord(){ var url='1〕http://localhost:8085'; var端点='/translate'; var fromLang=document.getElementById(“fromLang”).value; var toLang=do
函数translateWord(){
var url='1〕http://localhost:8085';
var端点='/translate';
var fromLang=document.getElementById(“fromLang”).value;
var toLang=document.getElementById(“toLang”).value;
var word=document.getElementById(“wordInput”).value;
var-payload={“word”:word,“from”:fromLang,“to”:toLang};
控制台日志(有效载荷);
var http=new XMLHttpRequest();
http.open(“POST”,url+endpoint,true);
setRequestHeader(“内容类型”、“应用程序/json”);
http.onreadystatechange=函数(){
var DONE=4;//4表示请求已完成。
var OK=200;//200表示成功返回。
if(http.readyState==DONE&&http.status==OK&&http.responseText){
var reply=http.responseText;
document.getElementById(“主体”).innerHTML=reply;
}
};
var params=JSON.stringify(有效负载);
//发送请求
http.send(params);
}
翻译演示
翻译演示
字:
发件人:
英语
法语
西班牙的
俄语
致:
英语
法语
西班牙的
俄语
翻译
此处翻译
默认情况下,ExpressJS将无法解析JSON post数据。要解决此问题,可以使用模块
安装它:
npm i -S body-parser
并在代码中这样使用它:
var express = require('express');
var bodyParser = require('body-parser'); // <----------------------------
var jsonParser = bodyParser.json(); // <----------------------------
var router = express.Router();
var cors= require('cors');
router.use(cors());
router.post('/translate', jsonParser, function (req, res) // <-----------
{
/* ... */
});
module.exports = router;
我的猜测是JSON数据无法读取。我通常用这个。在您的项目中安装它:
npmi-S body parser
,添加constbodyparser=require('body-parser')
在JS的顶部,创建一个JSON解析器实例:const jsonParser=bodyParser.JSON()代码>在您的路由之前,并像这样声明您的路由:router.post('/translate',jsonParser,function…
。然后你应该能够访问你的JSON属性,但你的最后一个代码片段是错误的。它应该是var word=req.body.word;…
。告诉我这对你是否有效谢谢你,我回家后会试试。嘿,伙计,我试过了,成功了。我只是想说谢谢你很高兴我能帮上忙!我把它作为一个答案贴了出来
var word = req.body.word;
var json = {
from: req.body.from,
to: req.body.to
};