节点js发布请求仅返回未定义的

时间:2020-02-23 16:13:34

标签: javascript node.js express

我正在尝试对在线课程项目进行api调用,但是在此之前,我需要检索用户输入,并且目前我对我的帖子请求有未定义的响应。我认为这些是我代码的相关部分:

formHandler.js:


import { postURL } from "./postURL"

function handleSubmit(event) {
    event.preventDefault()

    // check what text was put into the form field
    let url = document.getElementById('URL').value
    postURL('/postURL', url)
    //.then(updateUI());
};

export { handleSubmit }

postURL.js:

let postURL = async(url = '', data = {})=>{
    let response = await fetch(url, {
        method: 'POST',
        credentials: 'same-origin',
        headers: {
            "Content-Type": 'application/json',
        },
        body: JSON.stringify( { data} ),
    });
    try {
        console.log(data);
    }catch(error){
        console.log("error", error);
    }
}

export { postURL }

index.html的一部分:

<form class="form" onsubmit="return Client.handleSubmit(event)">
    <input id="URL" type="text" name="input" value="" placeholder="URL" size="48">
    <input type="submit" id="input" class="button" name="" value="submit" onclick="return Client.handleSubmit(event)" onsubmit="return Client.handleSubmit(event)">
</form>

服务器端的index.js:

app.post('/postURL', getURL);

function getURL(req, res){
    console.log(req.body);
    url = req.body;
    console.log(url)
    //apiCall(url)
}

您知道为什么未将数据返回到/ postURL吗?我不知道这个。任何帮助将不胜感激。

谢谢, 迈克

1 个答案:

答案 0 :(得分:0)

我不确定您是否在客户端或服务器中收到未定义的内容。 如果要在后端接收JSON数据,则必须在express中使用bodyParser.json。 如果要在客户端中收到响应,只需调用res.json(your_value)或res.send(yourValue)