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;
}
}