微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – CodeIgniter和AJAX表单提交

我正在尝试将从表单提交的数据保存到我的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();功能.

如果e.preventDefault()函数在它到达$.ajax()函数之前停止它,我如何通过AJAX提交此表单?

解决方法:

ajax调用的data属性无效.它应该是JSON格式{key:$(‘.Feed-input’).val()}或查询格式’key =’$(‘.Feed-input’).val().
在success方法中还有一个不必要的调试器变量.

工作代码可以是:

$('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."); }
   });

});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐