品牌型号:联想GeekPro 2020
系统:win10 1909 64位企业版
nodejs与java怎么交互呢?下面就给大家介绍一下nodejs与java的交互方法。
先贴代码:
主页面的html
index.html:
food
other
然后是服务器端的代码,运行方式是在node环境下输入命令:node server.js
server.js:
let http = require(http);
let qs = require(querystring);
let server = http.createServer(function(req, res) {let body = ; // 一定要初始化为 不然是undefined
req.on(data, function(data) {body += data; // 所接受的Json数据
});
req.on(end, function() {res.writeHead(200, { // 响应状态
Content-Type: text/plain, // 响应数据类型
Access-Control-Allow-Origin: * // 允许任何一个域名访问
});
if(qs.parse(body).name == food) {res.write(apple);
} else {res.write(other);
}
res.end();
});
});
server.listen(3000);
引入的qs模块用于解析JSON
req.on(data, callback); // 监听客户端的数据,一旦有数据发送过来就执行回调函数
req.on(end, callback); // 数据接收完毕
res // 响应
客户端的js(功能就是负责一些DOM操作以及发送ajax请求)
client.js:
let btn1 = document.getElementById(btn1);
let btn2 = document.getElementById(btn2);
let content = document.getElementById(content);
btn1.addEventListener(click, function() {ajax(POST, http://127.0.0.1:3000/, name=+this.innerHTML);
});
btn2.addEventListener(click, function() {ajax(POST, http://127.0.0.1:3000/, name=+this.innerHTML);
});
// 封装的ajax方法
function ajax(method, url, val) { // 方法,路径,传送数据
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {if(xhr.readyState == 4) {if(xhr.status = 200 xhr.status 300 || xhr.status == 304) {content.innerHTML = xhr.responseText;
} else {alert(Request was unsuccessful: + xhr.status);
}
}
};
xhr.open(method, url, true);
if(val)
xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded);
xhr.send(val);
}
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。