将带有正文的 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
基本背景:
我有一个快速节点服务器 运行 一个非常简单的网站。该站点的第一页有两个输入(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