ajax提交post请求注意事项

本文主要实现ajax来post请求(由于是跨站请求,所以需要在服务端加上head请求头:

header('Access-Control-Allow-Origin:http://m.020h.com');

开始提交的时候老是报错,提示405 Method not allowed,以为是跨域请求权限的问题,后来加 了请求头还是不行,百度里说是html不可以提交post提交,必须要改nginx服务配置,修改了还是不行,最后发现我的表单中将提交方法写成了submit,并且将表单中的的method = "post"了,所以一旦我点击了submit提交,会使整个页面刷新,所以浏览器刷新后会去寻找post请求的方法,却找不到则会出现405错误

解决方法:

在form表单中,把action和method直接去掉,然后把提交表单类型type改成button按钮

ajax提交请求:

$.ajax({
    type:"post",
    url:"http://crm.*****.com/addLeads",
    data:$('#buyform').serialize(),
    dataType:"json",
    success:function (res) {
        if(res.code==200){
            $('.mesg').html(res.msg);
            $('.submit_btn').css("background-color","#7d7b7a");
           $('.submit_btn').attr("disabled",true);
        }else {
            $('.mesg').html(res.msg);
        }
    },
    error:function () {
        $('.mesg').html("请求异常!");
    }
})

php处理请求页面:

//处理前台提交表单
public function addLeads()
{
    if(request()->isPost()){
        $data['kh_name'] = Request::param('kh_name');
        $data['phone'] = Request::param('phone');
        $data['kh_address'] = Request::param('province').'-'.Request::param('city').'-'.Request::param('area');
        $data['kh_need'] = Request::param('car_from').'-'.Request::param('pinpai').'-'.Request::param('cartype');
        $data['ut_time'] = date("Y-m-d H:i:s",time());
        $data['at_time'] = date("Y-m-d H:i:s",time());
        $data['status'] = 2;
        $data['ispublic'] = 1;
        $userExist = db('crm_leads')->where('phone', $data['phone'])->find();
        if ($userExist){
            $msg = ['code' => -200,'msg'=>'抱歉,手机号不可以重复添加!','data'=>[]];
            return json($msg);
        }

        $result = Db::table('crm_leads')->insert($data);
        if ($result){
            $msg = ['code' => 200,'msg'=>'恭喜,信息提交成功,请保持手机畅通!','data'=>[]];
            return json($msg);
        }else{
            $msg = ['code' => 0,'msg'=>'添加失败,刷新后再提交!','data'=>[]];
            return json($msg);
        }
    }
}

至此,就完成了ajax提交post表单的全部流程,有不懂的欢迎留言交流!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值