Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 参数未随xmlhttprequest一起发送_Javascript_Node.js_Ajax_Parameters_Is Empty - Fatal编程技术网

Javascript 参数未随xmlhttprequest一起发送

Javascript 参数未随xmlhttprequest一起发送,javascript,node.js,ajax,parameters,is-empty,Javascript,Node.js,Ajax,Parameters,Is Empty,我试图从客户端发送带有xmlHttpRequest的内容,但无法在服务器端接收这些参数 在服务器端设置参数和在客户端检索参数都可以,但是当我尝试在服务器端设置参数时,我试图在客户端设置的参数总是得到一个空值/未定义 node.js server side response on req.params = ... ( params: [] } ) ... 知道它为什么不在服务器端检索参数吗?在服务器端,我正在使用app.post('/delete',函数(req,res){..),其中我尝试c

我试图从客户端发送带有xmlHttpRequest的内容,但无法在服务器端接收这些参数

在服务器端设置参数和在客户端检索参数都可以,但是当我尝试在服务器端设置参数时,我试图在客户端设置的参数总是得到一个空值/未定义

node.js server side response on req.params =
...
 ( params: [] } )
...
知道它为什么不在服务器端检索参数吗?在服务器端,我正在使用app.post('/delete',函数(req,res){..),其中我尝试console.log req.params,该参数应使用以下客户端代码设置(但不包括):


谢谢!

您需要在服务器端使用BodyParser中间件。 在app.js中,导入bodyparser

从“body parser”导入bodyParser;

然后写

use(bodyParser.json());
use(bodyParser.urlencoded({extended:false}));


现在您将在req.body中获取post参数,并在req.query中获取参数

CheckBody parser包,因为您正在发送ajax use bodyParser.json()我认为您不需要使用body parser或类似body parser的东西来解析数据。如果您提供一些服务器端代码,我们将更容易帮助您。感谢您的快速响应,最初我认为我不需要body parser,因为在本例中,我只是尝试发送一个字符串。我安装了body parser模块,这很有效但输出仍然没有差异;服务器端没有收到参数。这是我的服务器端代码:。谢谢!好吧,这让我找到了解决方案;我发现我忽略了我使用的application/x-www-form-urlencoded格式,这是一种用于编码键值对的格式。因此,在我的内容/参数中,我需要将每个k分开ey值由一个&字符分隔,每个键由一个=字符与其值分隔,现在它工作正常。谢谢!!:)