首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将表单数据作为json发送到服务器

将表单数据作为json发送到服务器
EN

Stack Overflow用户
提问于 2019-11-10 18:38:12
回答 2查看 55关注 0票数 0

我有一个正在运行的服务器,它接受以json格式输入的POST请求。现在,我正在尝试创建一个简单的html页面,该页面将在用户单击Submit按钮时触发POST请求。我的代码如下

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<br/><br/><br/><br/>
<body>
<script>
function submitform (form) {
   var object = {};
   form.forEach((value, key) => {object[key] = value});
   var json = JSON.stringify(object);
   return json;
}

</script>
<form action="http://localhost:9000/parse" method="post">

    <h3>Enter url :</h3>
    <input type="text" name="url" placeholder="http://google.com" style="width: 300px"><br>
    <br/><br/>
    <input type="submit" name="Get Website Statistics" style="width: 20em;  height: 2em;" onclick="submitform()">
</form>
</body>
</html>

我希望服务器接收包含有效负载的请求

代码语言:javascript
复制
{
    "url" : "https://www.example.com"
}

但是,我从服务器收到的响应如下

代码语言:javascript
复制
For request 'POST /parse' [Expecting text/json or application/json body]

我的curl请求如下

代码语言:javascript
复制
curl 'http://localhost:9000/parse' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://localhost:63342' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36' -H 'Sec-Fetch-User: ?1' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'Sec-Fetch-Site: same-site' -H 'Sec-Fetch-Mode: navigate' -H 'Referer: http://localhost:63342/html-parser/views/index.html' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-GB,en;q=0.9,en-US;q=0.8' -H 'Cookie: Idea-836ae252=9c616505-7e0e-4a1e-bdd0-fa54e473c071' --data 'url=https%3A%2F%2Fwww.spiegel.de%2Fmeinspiegel%2Flogin.html&Get+Website+Statistics=Submit' --compressed

有没有人能指点我这里哪里做错了?提亚

EN

回答 2

Stack Overflow用户

发布于 2019-11-10 19:01:24

显然,您没有将您的JSON包含在正文中:

代码语言:javascript
复制
<form action="localhost:9000/parse" method="post">

    <h3>Enter url :</h3>
    <input type="text" name="url" placeholder="http://google.com" style="width: 300px"><br>
    <br/><br/>
    <input type="submit" name="Get Website Statistics" style="width: 20em;  height: 2em;">

</form>

票数 0
EN

Stack Overflow用户

发布于 2019-11-10 21:05:20

代码语言:javascript
复制
 <form action="http://localhost:9000/parse" method="post" onsubmit="return submitform()">
   <input type="submit" name="Get Website Statistics" style="width: 20em;  height: 2em;">
 </form>

将onsubmit事件放入form标记中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58787808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档