[英]Sending a HTTP Post Request correctly
我有一个简单的AWS Lambda函数,该函数必须接收HTTP Post数据并进行打印:
AWS Lambda函数
var aws = require('aws-sdk');
var querystring = require('querystring');
var ses = new aws.SES();
exports.handler = function(event, context) {
console.log("Incoming: ", event);
};
我的HTML表单:
<form action="http://myawsfuncurl" method="POST">
<input type="textarea" width="200" height="100" value="Hello"><br>
<input type="submit" value="Send">
</form>
控制台仅打印:传入:{}
没有收到数据。
但是,当我通过Java代码发送HTTP Post时,此方法工作正常:
Java代码
URL obj = new URL("http://myawsfuncurl");
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
//add reuqest header
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
String payload = "hello";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(payload);
wr.flush();
wr.close();
我如何也可以通过HTML表单使用它?
我尝试通过http POST表单发送邮件时遇到了同样的问题。
我通过一个Ajax请求发送了此请求,该请求将JSON数据发送到该函数。
希望这样的事情会有所帮助。 如果将其放在html页面上的脚本标签中。
<script>
$.support.cors = true;
$('#id_of_form').submit(function(event){
event.preventDefault();
$.ajax(
{
type: 'POST',
url: 'http://myawsfuncurl',
dataType: 'json',
data: {
ParamA: $('#id_of_textarea").text()
},
error: function(obj, msg, exc){},
success: function(data){
alert('complete');
}
}
)
return false;
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.