我正在尝试对在线课程项目进行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吗?我不知道这个。任何帮助将不胜感激。
谢谢, 迈克
答案 0 :(得分:0)
我不确定您是否在客户端或服务器中收到未定义的内容。 如果要在后端接收JSON数据,则必须在express中使用bodyParser.json。 如果要在客户端中收到响应,只需调用res.json(your_value)或res.send(yourValue)