我正在阅读这篇关于使用html表单发布JSON数据的w3c文档,并尝试对其进行测试.
我的测试表格如下:
<form action="postjson.php" method="POST" enctype="application/json">
<input type="hidden" name="touser" value="shenkwen" />
<input type="hidden" name="msgtype" value="text" />
<input type="hidden" name="agentid" value="23" />
<input type="hidden" name="text[content]" value="test message" />
<input type='submit' value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
和内容 postjson.php
<?php var_dump($_POST);
Run Code Online (Sandbox Code Playgroud)
我期待$ _POST的值是一个JSON字符串,但是,它只是一个普通的PHP对象:
array(4) { ["touser"]=> string(8) "shenkwen" ["msgtype"]=> string(4) "text" ["agentid"]=> string(2) "23" ["text"]=> array(1) { ["content"]=> string(33) "test message" } }
Run Code Online (Sandbox Code Playgroud)
我尝试删除enctype属性,输出完全相同.然后我回到文档页面,注意到它说明了这个标准可能没有效果.
所以这也是一个关于如何使用W3C网站的问题,在我看来,它上面的一些页面只是草稿.这个页面是草案吗?当我在w3c上阅读页面时,如何判断它是草稿还是工作标准?最后也是最重要的是,enctype='application/json'工作与否?
我将使用goo.gl进行URL缩短.我需要提出以下要求:
POST https://www.googleapis.com/urlshortener/v1/url
Content-Type: application/json
{"longUrl": "http://www.google.com/"}
Run Code Online (Sandbox Code Playgroud)
我的HTML: -
<form method="post" action="https://www.googleapis.com/urlshortener/v1/">
<button type="submit"> submit </button>
</form>
Run Code Online (Sandbox Code Playgroud)
我如何在这里添加'content-type'和json?
我有这个控制器方法:
@PostMapping(
value = "/createleave",
params = {"start","end","hours","username"})
public void createLeave(@RequestParam(value = "start") String start,
@RequestParam(value = "end") String end,
@RequestParam(value = "hours") String hours,
@RequestParam(value = "username") String username){
System.out.println("Entering createLeave " + start + " " + end + " " + hours + " " + username);
LeaveQuery newLeaveQuery = new LeaveQuery();
Account account = accountRepository.findByUsername(username);
newLeaveQuery.setAccount(account);
newLeaveQuery.setStartDate(new Date(Long.parseLong(start)));
newLeaveQuery.setEndDate(new Date(Long.parseLong(end)));
newLeaveQuery.setTotalHours(Integer.parseInt(hours));
leaveQueryRepository.save(newLeaveQuery);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我向此端点发送帖子请求时,我得到以下信息
"{"timestamp":1511444885321,"status":400,"error":"Bad Request","exception":"org.springframework.web.bind.UnsatisfiedServletRequestParameterException","message":"Parameter conditions \"start, end, hours, username\" not met for actual request …Run Code Online (Sandbox Code Playgroud) 我正试图在Flask中为我自己的教育设置一个简单的表格.我有一个带有此表单代码的login.html页面:
<form action="{{ url_for('login') }}" method="post">
<div>
<label for="username">Username</label>
<div>
<input type="text" id="username" name="username" placeholder="Username">
</div>
</div>
<div>
<label for="password">Password</label>
<div>
<input type="password" id="password" name="password" placeholder="Password">
</div>
</div>
<div >
<input class="btn" type="submit">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码来接收它,但Flask返回一个空,request.form所以我无法处理它.
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
request.form['username']
...
Run Code Online (Sandbox Code Playgroud)
我现在真的不想学习另一个库(WTForms),而且我正在使用bootstrap,这将增加头痛.我在Flask/HTML中没有看到什么?
<div class="email">
<section class="subscribe">
<div class="subscribe-pitch">
</div>
<form action="#" method="post" class="subscribe-form" id="emails_form">
<input type="email" class="subscribe-input" placeholder="Enter email for newsletter" >
<button id="email_submit" type="submit" value="send" class="subscribe-submit"><i class="fa fa-chevron-right"></i></button>
</form>
Run Code Online (Sandbox Code Playgroud)
我需要将输入数据从一个简单的电子邮件表单保存到一个 json 文件中。我想我是用 javascript 做到的。有人可以一步一步地帮助吗?我是新手
我正在向无服务器部署的Lambda函数提交表单,这是yml:
functions:
hello:
handler: handler.hello
events:
- http: POST hello
Run Code Online (Sandbox Code Playgroud)
现在我的问候函数是:
module.exports.hello = (event, context, callback) => {
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'Go Se222rverless v1.0! Your function executed successfully!',
input: event,
}),
};
callback(null, response);
};
Run Code Online (Sandbox Code Playgroud)
我在输出中可以看到传递了变量,但它们按如下方式存储在event.body属性中:
"body":"email=test%40test.com&password=test12345"
Run Code Online (Sandbox Code Playgroud)
现在,我可以访问该字符串,但是我无法从中读取单个变量,除非我进行了一些正则表达式转换,我相信,在诸如无服务器/ aws这样的现代堆栈中,情况并非如此。
我想念什么?如何读取各个变量?
html ×4
post ×3
forms ×2
json ×2
css ×1
flask ×1
http ×1
java ×1
javascript ×1
jquery ×1
python ×1
serverless ×1
spring ×1
spring-mvc ×1
spring-web ×1
w3c ×1