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



基本背景:

我有一个运行非常简单网站的快速节点服务器。网站的第一页有两个输入(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 和一个数字,我的应用程序构建了一些东西并返回一个文件的链接。

我的节点服务器(基本上)看起来像这样:

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
 });

我的问题/问题:

我希望能够不使用我的前端。我相信代码基本上会起作用(除了渲染之外,我相信我需要类似的东西

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

我只是不知道我怎么能伪造这个帖子请求。我在这里画了一个空白。到目前为止,我只尝试过一些声称他们会发送帖子请求等的网站。并尝试在浏览器中输入带有查询字符串的 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"});

但身体是{}

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

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

最新更新