ExpressJS:请求未定义
ExpressJS : req is undefined
我尝试 post 使用 XMLHttpRequest 将数据发送到使用 ExpressJS 制作的服务。
index.js 中的服务器端:
app.post('/add',url.add);
url.js 中的服务端:
exports.add = function(req, res){
var urlToAdd = req.body;
console.log(urlToAdd);
};
客户端:
<input id="url" required="true"/>
<button id="addButton">Ajouter</button>
JS 客户端:
document.getElementById("addButton").addEventListener("click",function(){
var url = document.getElementById("url").value;
var xhr_object = null;
if(window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else {
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "/add", true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
//alert(xhr_object.responseText); // DEBUG MODE
//document.write(xhr_object.responseText);
eval(xhr_object.responseText);
}
return xhr_object.readyState;
}
var param = "url="+url;
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send(param);
});
当我要发送数据时,req.body
是undefined
。
我找到了解决方案。
当您想通过快速使用获取 POST 请求的主体时:
app.use(express.bodyParser());
然后你可以这样做:
var urlToAdd = req.body.url;
我尝试 post 使用 XMLHttpRequest 将数据发送到使用 ExpressJS 制作的服务。
index.js 中的服务器端:
app.post('/add',url.add);
url.js 中的服务端:
exports.add = function(req, res){
var urlToAdd = req.body;
console.log(urlToAdd);
};
客户端:
<input id="url" required="true"/>
<button id="addButton">Ajouter</button>
JS 客户端:
document.getElementById("addButton").addEventListener("click",function(){
var url = document.getElementById("url").value;
var xhr_object = null;
if(window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else {
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "/add", true);
xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) {
//alert(xhr_object.responseText); // DEBUG MODE
//document.write(xhr_object.responseText);
eval(xhr_object.responseText);
}
return xhr_object.readyState;
}
var param = "url="+url;
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr_object.send(param);
});
当我要发送数据时,req.body
是undefined
。
我找到了解决方案。
当您想通过快速使用获取 POST 请求的主体时:
app.use(express.bodyParser());
然后你可以这样做:
var urlToAdd = req.body.url;