0
我有2个js文件相互对应,一个用于服务器,一个用于客户端。 客户端应该使用名为“/ postGetInc”的发布请求,向服务器发送一个数字,服务器增加它并返回结果。每当我尝试将特定号码发布到服务器时,它都会将其视为空对象。 我知道输入也应该是一个对象,但是当我使用{“number”:number}创建对象时,它仍然不能识别数字值。
所以这是我的server.js
app.post("/getInc", function (req, res) {
console.log("req: " + req);
console.log("req.number: " + req.number);
req.number++;
res.send(req.number);
});
小码,这是我使用后的功能,在client.js
function postGetInc(number){
var res = "no response";
toSend = { "number": number };
$.post("/getInc", toSend, function (response) {
console.log(response);
res = response;
});
return res;
//this should return number+1
//in case of a failt, it returns "no response"
}
,每当我跑postGetInc( 10)我得到
"no response"
印在我的控制台上。
我的服务器控制台上,我得到:
req: [object Object]
req.number: undefined
如果我更换{“数字”:数}只数和req.number用数字,我收到我的印控制台上相同的消息。
感谢您的阅读,我很想听听我做错了什么,请帮助我。
所以如果我弄清楚了,req代表从客户端发送到服务器的所有信息,而不仅仅是一个对象?所以也ip地址等 – Gaargod 2014-12-03 17:36:38
是的。一个HTTP请求也包含很多元数据。 https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_message – 2014-12-03 17:37:51
我改变了每个“req.number”与“req.body.number” 这给了我一堆错误,它无法找到数字值未定义。 如果我添加了你提供的两行文件,并将它们放在我的server.js文件的开头,我得到一个错误,说明它在启动服务器时找不到该模块。 我在哪里可以得到这个包,如果我想要相同的结果,是否需要包含这个包? 感谢您的回复 – Gaargod 2014-12-03 17:53:10