我正在尝试将从表单提交的数据保存到我的 mysql 数据库中,然后将最后发布的项目添加到 div 列表中来更新 div 元素。
现在我只是想得到回复,我并不担心目前的格式是否正确。
我的问题是表单不会提交e.preventDefault();
到位,但没有它,表单会执行发布到数据库然后刷新页面的正常方法。
这是我的 AJAX 调用:
$(document).ready(function() {
$('form#feedInput').submit(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "<?php echo site_url('dashboard/post_feed_item'); ?>",
data: $('.feed-input').val(),
dataType: "html",
success: function(data){
debugger;
$('#feed-container').prepend(data);
},
error: function() { alert("Error posting feed."); }
});
});
});
我认为我没有必要发布我的控制器代码,因为我的问题是表单不会通过e.preventDefault();
功能。
如果出现以下情况,我怎样才能通过 AJAX 提交此表单:e.preventDefault()
函数在它到达之前停止它$.ajax()
功能?
The data
ajax 调用的属性无效。它应该是 JSON 格式{ key: $('.feed-input').val() }
或以查询格式'key='+$('.feed-input').val()
。
还有一个不必要的debugger
成功方法中的变量。
工作代码可以是:
$('form#feedInput').submit(function(e) {
var form = $(this);
e.preventDefault();
$.ajax({
type: "POST",
url: "<?php echo site_url('dashboard/post_feed_item'); ?>",
data: form.serialize(), // <--- THIS IS THE CHANGE
dataType: "html",
success: function(data){
$('#feed-container').prepend(data);
},
error: function() { alert("Error posting feed."); }
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)