thinkphp使用ajax,get传参each

发布时间:2023-09-22作者:豆子点击:193

1,html页面使用$.ajax
          $.ajax({
             type:'post',
             url:"{:url('collect/index')}",
             data:{name:val},
                    contentType: 'text/json,charset=utf-8',
                    dataType: 'json',                 
                    async:true,
                            beforeSend: function(request) {  
                              request.setRequestHeader("Test", "Chenxizhang"); 
                              var index = layer.load(1, {
			       shade: [0.1,'#fff'] //0.1透明度的白色背景
			       });   
                             }, 
             success:function(data){
                    tian=data.data;
                    $.each(tian,function(index,item){
			    $("#kaichan").append(item);

		    })
           console.log(data);
            }
           })

           $.get(
             "{:url('collect/index')}",
             {name:val},
             function(data){
               console.log(data);
           });

2,控制器页面接收参数

if(Request()->isAjax()){
     $name=input('name');
     return $name.'dd'; 
 }

或者

   $username=input('uname/s');
     var_dump($username);
        $mm=Mm::where('username',$username)->find();
        if($mm){
            // 重复则返回1
            return 1;
        }else {
            return 0;
        }


3。如果html使用onsubmit 。则使用

              <form action="__URL__/insert" method="post" onsubmit="return checkSubmit();">
		<div class="form-group " >

		         <label class="control-label">登录账号</label>

			<input type="text" name="username"  class="form-control" placeholder="登录账号">
									
		</div>
              </form>
         function checkSubmit(){

            //获取登录名的值
            username=$("input[name=username]").val();
            var ajaxflag=true; //全局变量
            $.ajax({
                type:"post",
                url:"{:url('member/checkusername')}",
                data:{uname:username},
                async:false,//同步方式。在ajax执行时,async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax发出请求后是一个线程 以及ajax后面的脚本(另一个线程)。

                success:function(data){
                   
                    if(data==1){
                       
                      ajaxflag= false;//如果这里写return false;ajax读取到这里的时候,success还没有返回数据,这个return就被销毁了,然后继续往下读。而全局变量则不会被销毁。
                                                             
                    }else {
                       
                             ajaxflag= true;
                    }
                },
                   error: function (xhr, textStatus, errorThrown) {
                           /*错误信息处理*/
                  console.log("进入error---");
                  console.log("状态码:"+xhr.status);//ajax的success和error方法根据响应状态码来触发。当XMLHttpRequest.status为200的时候,表示响应成功,此时触发success().其他状态码则触发error()。
                  console.log("状态:"+xhr.readyState);//当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
                  console.log("错误信息:"+xhr.statusText );
                  console.log("返回响应信息:"+xhr.responseText );//这里是详细的信息
                  console.log("请求状态:"+textStatus);         
                  console.log(errorThrown);         
                  console.log("请求失败"); 
                    } 
            })
            if(!ajaxflag){
              return false;
            }
        }


标签: