JQuery&TP5-Ajax怎么传表单数据到thinkphp5完成数据入库?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/YAruli/article/details/79829667

JQuery&TP5-Ajax传表单数据到thinkphp5完成数据入库实例

大家好,我是Yangrl;
今天小长假第一天,下午吃鸡,大吉大利!意识和枪法的完美结合催生出的怪物——ID:Yangrl.
(在朋友面前随随便便秀了个灭队,很舒服。)
咳咳,少说废话。昨天的Ajax初体验说了这几天在做一个在线报名系统,今天总结一下。(简单总结,请自行拓展延伸)↓


后台:php框架-Thinkphp5;

首先一个简单表单验证&&jquery.Ajax部分:

<script type="text/javascript">
  $(document).ready(function(){
    $("#add").click(function(){
      var user = $("#realname").val();
     // var username = ^[\u4e00-\u9fa5]{0,}$;
      if (user.length == 0) {
        alert("请输入您的姓名!");
        return false;
      } 

      var tel=$("#tel").val();
      var telcheck=/^[1]{1}[0-9]{10}/;
      if (tel.length == 0) {
        alert("填好电话号码我们才能更快联系你哦~");
        return false;
      } else if (!telcheck.test(tel)) {
        alert("请填写真实手机号码");
        return false;
      }
      var formData = $("#form1").serialize();//重点
      $.ajax({
        type:"POST",
        url:"{:url('signup/save')}",//index模块下signup类中的save方法,用来接受数据进行验证并传入model层进行保存。
        data:formData,
        dataType:"json",
        success:function(data) {
          alert("报名成功!");
          $("#form1 input").val("");//成功入库后清空表单中文本框的值,方便再次填写。
        },
        error:function(jqXHR) {
          alert("报名失败,错误:" + jqXHR.status);
        },
      });
    });
  });
</script>

其他我就不贴出来了(对不起,代码太垃圾,自卑。),不用给表单传递方法,传递地址这些,只要给表单一个id就行了。
form id = form1
提交按钮设置type为button,是因为ajax返回请求的时候状态出现了200还是0错误?不让他立即跳转。在这边不深究。后面会单独总结ajax返回请求错误集锦。
id = add提交按钮

然后是thinkphp部分:

public function save()
    {

        $data = input('post.');//获取值

        $validate = validate('Signup');//利用tp验证器进行验数据验证

        if (!$validate->scene('add')->check($data)) {
           $this->error($validate->getError());
        }

        $res = $this->obj->add($data);//验证成功后的数据传入model层入库操作
        if ($res) {
            return json($data);//我随便写,响应给前端
        }else {
            return json($data);
        }
    }

就是成功以后把结果返回给前端进行响应,我只是简单写了直接return json();大家看个效果。(懒癌发作)。

result:
result
result


Have a good time~
end.

“承认代价,比较权衡,不问是非,只争高下。”

猜你喜欢

转载自blog.csdn.net/YAruli/article/details/79829667