ajax实现表单post提交数据

方法一:
1.禁用表单提交οnsubmit=“return false”
2.tp框架控制器不可以用new Request方式调用请求类方法,改用静态调用Request请求类

前端form表单

        <form onsubmit="return false" class="form-horizontal"  id="login" >
            <div class="form-group">
                <label for="inputEmail1" class="col-sm-2 control-label">用户名:</label>
                <div class="col-sm-10">
                    <input type="text" name="name" class="form-control" id="inputEmail1" placeholder="UserName">
                </div>
            </div>
        
	        <div class="form-group">
	            <div class="col-sm-offset-2 col-sm-10">
	                <button type="submit" class="btn btn-primary" id="register">注册</button>
	                <button class="btn btn-warning" id="sub">测试</button>
	            </div>
	        </div>
        </form>

js代码

    <script>
    $(function(){
        $('#sub').click(function(){
//            alert($("#inputEmail1").val());
           var url = "{:url('user/insert')}";
           //类似ajax的提交
           $.post(url,{"name":$('#inputEmail1').val()},function(res){
               console.log(res);
           },'json')
        });
    });
    </script>

控制器代码

<?php

namespace app\index\controller;

use app\common\controller\Base;
use app\common\model\User as UserModel;
use think\facade\Request;
use  think\facade\Session;

class User extends Base
{
    //注册页面
    public function register()
    {
        $this->view->assign('title', '用户注册');
        return $this->view->fetch();
    }

    //处理用户提交的用户信息
    public function insert()
    {
        //    不能使用new Request去调用请求类,new Request 会再次实例化这个对象 把ajax的参数重置是看不发送到控制器的表单数据的,谨记
        //打印
        dump(Request::method());
        dump(Request::post());
        exit;

    }

结果
在这里插入图片描述方法二

<script>
    $(function(){
        //要获取表单提交的数据分两步  第一步:绑定事件,第二步:表单序列化
        $("#register").on('click',function(){
            //第二步:表单序列化
// alert($('#login').serialize());
            $.ajax({
                //请求方式
                type : "POST",
                //请求地址
                url:"{:url('Index/user/insert')}",
                data: $('#login').serialize(),
                dataType:'json',
                //请求成功
                success:function(data) {
                    console.log(data);
                }
            });
        });
    });
    </script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值