将带有正文的 POST XMLHttpRequest 发送到快速节点服务器

Send a POST XMLHttpRequest with a body to an express node server

基本背景:

我有一个快速节点服务器 运行 一个非常简单的网站。该站点的第一页有两个输入(1 个文本,1 个数字)

<input type="text" name="xml_url" id="xml_in" placeholder="Required" />
<input type="number" min="0" name="c2" id="c2_in" placeholder="Required" />

现在真的很简单,用户输入一个 url 和一个数字,我的应用程序构建一些东西和 returns 一个 link 到一个文件。

我的节点服务器(基本上)是这样的:

app.post('/secondPage', function(req, res){
 var url = req.body.xml_url
   , c2 = req.body.c2;
 //some stuff happens etc...
res.render('finalpage.html', {
    foo: c2andsomething
    url: newurl
 });

我的Question/Issue:

我希望能够不使用我的前端。我相信代码基本上可以工作(除了渲染,我相信我需要一些类似

的东西
res.send(aJsonResponse); // obviously I will need to build the json

我只是不知道如何伪造这个 post 请求。我在这里有点空白。到目前为止,我只真正尝试过几个声称会发送 post 请求等的网站。并尝试在浏览器中输入带有查询字符串的 url,但我的应用程序没有'接受 GET..

希望这不是太乱,但我很想听听一些建议。如果这个问题没有意义,将删除。

编辑:

好吧,我似乎总是急于回答这些问题。我刚刚在控制台中尝试过:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "http://192.168.1.1:3000/secondPage", true);
xmlhttp.send("foobar");

我遇到了一个 CORS 错误。我想我很快就能在这里解决这个问题,如果您有任何建议,我仍然很想听听。

谢谢

编辑 2:

所以我能够发送请求,因此没有 CORS 问题..但我不确定如何在请求中设置正文。

 var xmlhttp = new XMLHttpRequest();
 xmlhttp.open("POST", "http://192.168.1.1:3000/secondPage", true);
 xmlhttp.send({"xml_in":"I-thought-this-was-the-body"});

但是 req.body 是 {}

好吧,我使用 cURL 解决了我的问题,所以这不是最佳答案,但这是我使用的答案

curl -d "xml_in=http://google.com&c2=12345" http://192.168.1.1:3000/secondPage