加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – CodeIgniter和AJAX表单提交

发布时间:2020-12-13 21:48:43 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试将从表单提交的数据保存到我的 mysql数据库中,然后更新div元素,其中最后一个已发布的项目前置于div中的列表. 现在我只想回复一个回复,我并不担心此刻格式正确. 我的问题是表单不会用e.preventDefault()提交;到位,但没有它,表单执行发布到数据库然
我正在尝试将从表单提交的数据保存到我的 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",data: form.serialize(),// <--- THIS IS THE CHANGE
        dataType: "html",success: function(data){
            $('#feed-container').prepend(data);
        },error: function() { alert("Error posting feed."); }
   });

});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读