正如 Jonas 所指出的,使用节点服务器作为代理是正确的方法。
我正在为前端和后端应用程序提供示例代码。希望对您有所帮助。
<html>
<head>
<script type="text/javascript">
function sendData(data) {
if (!data) {
// lets define some dummy data for testing
data = { somekey: "somevalue", anotherkey: "anothervalues" };
}
var XHR = new XMLHttpRequest();
var FD = new FormData();
// Push our data into our FormData object
for (name in data) {
FD.append(name, data[name]);
}
// Define what happens on successful data submission
XHR.addEventListener("load", function(event) {
alert("Yeah! Data sent and response loaded.");
alert(event.target.responseText);
});
// Define what happens in case of error
XHR.addEventListener("error", function(event) {
alert("Oops! Something went wrong.");
});
// Set up our request
XHR.open("POST", "http://path/to/your/nodejs/server/app");
// Send our FormData object; HTTP headers are set automatically
XHR.send(FD);
}
</script>
</head>
<body>
<button onclick="sendData()">Send Test Request to the Server</button>
</body>
</html>
常量 http = 要求('http');
常量表达 = 要求(“表达”);
const bodyParser = require('body-parser');
常量应用程序 = 快递();
app.use(bodyParser.urlencoded({extended: false }));
app.get('/', (req, res) => res.send('是的!服务器已启动!发布一些数据'));
app.post('/', (req, res) => {
// 您将在 req.body 中看到发布的数据,仅出于测试目的将其返回给调用用户
res.json(req.body || {});
});
常量服务器 = http.createServer(app);
server.listen(3000);
server.on('error', console.error);
server.on('listening', () => console.log('Listening on 3000'));
process.on('exit', (code) => console.warn('服务器以code=' + code));
请注意,要运行此后端应用程序,您必须安装以下 npm 包:express、body-parser