如何在不刷新 node.js 和 ejs 的情况下提交表单
How to submit a form without refresh in node.js and ejs?
<form action="" method="post">
<div class="bottom_wrapper clearfix">
<div class="message_input_wrapper" id="eventForm">
<input class="message_input" name="msg" placeholder="Type your message here..." />
</div>
<input type="submit" name="submit">
<div>
</form>
<script>
$('#eventForm').submit(function (e) {
e.preventDefault();
var fd = new FormData($(this)[0]);
$.ajax({
url: '/messages/'<%= id %>,
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
});
</script>
我在前端和节点.js控制器中使用的上述代码
BASE.APP.post('/messages/:id', function(req,res)
{
var body = req.body;
console.log('postdata',body);
});
在发布数据时,它给我空白。
实际上,这是一个聊天消息窗口,我想在不刷新页面的情况下发送消息。
表单没有 ID eventForm,这是一个 DIV,它没有提交事件。
将 ID 而不是 DIV 添加到表单中。
另外,你有一个错别字,其中一个结束</div>
标签并没有真正关闭任何东西,而是打开。
<form action="" method="post" id="eventForm">
<div class="bottom_wrapper clearfix">
<div class="message_input_wrapper">
<input class="message_input" name="msg" placeholder="Type your message here..." />
</div>
<input type="submit" name="submit">
</div>
</form>
<script type="text/javascript">
$('#eventForm').submit(function (e) {
e.preventDefault();
var fd = new FormData(this);
$.ajax({
url: '/messages/'<%= id %>,
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
});
</script >
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 在不知道深度或父属性的情况下从对象中删除属性
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在不影响其他元素的情况下扩展DIV
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 在不移动内部文本的情况下缩放元素的效果
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 默认情况下折叠和展开嵌套列表
- 如何在不单击javascript中的按钮的情况下触发事件
- 如何在不刷新 node.js 和 ejs 的情况下提交表单