繁体   English   中英

如何在获取请求中发送表单数据

[英]How to send form data in a fetch request

我写了一个简单的 nodejs 服务器,允许本地网页通过 $.ajax 调用代理远程数据)并避免 CORS 问题。
一切正常,但最后一次调用:这是一个 POST 调用,其中包含一些我需要转到远程服务器的表单输入数据。
服务器收到请求,但不接收表单数据。

代码是:

function saveDati(req, resp) {
    var url = "https://www.xyz.xyz/web/call?portlet.action=saveDataForm"

    fetch(url, {
        method: 'POST',
        mode: 'no-cors',
        body: req.body,
    })
    .then((resp1) => {
        return resp1.text()
    })
    .then((risp2) => {
        console.log(risp2)
        resp.header("Access-Control-Allow-Origin", "*");
        resp.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        resp.send(risp2);
        console.log(".. sent")
    })
    .catch((err) => console.log(err))
}

如何正确发送表单数据?

我认为你需要这样的标题

function saveDati(req, resp) {
    var url = "https://www.xyz.xyz/web/call?portlet.action=saveDataForm"

    fetch(url, {
        method: 'POST',
        headers: {
        Accept: "application/json",
        "Content-Type": "application/json",
      },
        mode: 'no-cors',
        body: req.body,
    })
    .then((resp1) => {
        return resp1.text()
    })
    .then((risp2) => {
        console.log(risp2)
        resp.header("Access-Control-Allow-Origin", "*");
        resp.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        resp.send(risp2);
        console.log(".. sent")
    })
    .catch((err) => console.log(err))
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM