为了账号安全,请及时绑定邮箱和手机立即绑定

ajax post 返回的数据是null

ajax post 返回的数据是null

慕哥9229398 2019-03-13 14:15:58
因为form提交的时候页面会自动提交到/apply 这个处理页面,返回JSON数据所以用ajax重定向到/applysuccess重定向成功了可是数据怎么没提交成功的样子 获取的时候看到都是null求帮助//ajax的代码 $.ajax({        type: 'post',        url: '/apply',        async: true,        dataType: 'json',        data: $('#sub').serialize(),        success: function (data) {            $("#sub").attr("method", 'GET').attr("action", '/applysuccess');            $('#apply').html('<h3>' + data.message + '</h3>');            $('.count').html(' ' + data.count + ' ');        }    });<!--这是表单的代码--><form action="/apply" method="post" id="sub">                <div class="form-group fl col-md-4">                    <input class="form-control" name="first_name" placeholder="first name" required>                    <input class="form-control" name="last_name" placeholder="last name" required>                </div>                <div class="form-group fl col-md-4">                    <input class="form-control" name="position_id" placeholder="position id" required>                    <input class="form-control" name="years_experience" placeholder="years experience" required>                </div>                <div class="form-group fl col-md-4">                    <input class="form-control" name="expertise" placeholder="expertise" required>                    <button id="applyBtn" type="submit" class="btn btn-primary btn-lg">Apply for Job NOW</button>                </div>            </form>请输入代码
查看完整描述

1 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

更新:


<form id="form" ...>

    ...

    <input type="submit" value="提交"/>

</form>

<script>

    document.querySelector('#form').onsubmit = e => {

        // 你有修改 action 的做法,所以这里可能需要判断一下现在 acion 的值然后做不同的操作

        const action = $('#suib').attr('action')

        if (action === '/apply') {

            $.ajax({

                type: 'post',

                url: '/apply',

                async: true,

                dataType: 'json',

                data: $('#sub').serialize(),

                success: function (data) {

                    $("#sub").attr("method", 'GET').attr("action", '/applysuccess');

                    $('#apply').html('<h3>' + data.message + '</h3>');

                    $('.count').html(' ' + data.count + ' ');

                }

            })

        } else if (action === '/applysuccess') {

            // TODO ...

        }


        // 阻止表单的默认行为

        return false;

    }

</script>

你 ajax 里都没传要 post 的数据啊。


查看完整回答
反对 回复 2019-04-04
  • 1 回答
  • 0 关注
  • 913 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信