"
HTML ajax端
$.ajax({ url:'/login.php', data:{'name':name, 'pwd':pwd}, type:'POST', dataType:'json', success:function(data){ console.dir(data) if(data.status == '1') alert(data.mes) }else{ alert(data.mes) } } })
php端:
$sql = "SELECT * FROM user WHERE user = '{$_POST['name']}' AND pwd = '{$_POST['pwd']}'",
//后面大概就是查数据,看看有没有结果。
if(){
echo json_encode(array('status' => '200', 'mes' => '登录成功'));
}else{
echo json_encode(array('status' => '0', 'mes' => '帐号密码错误'));
}
一个流程大概就这样了。楼主肯定有地方写错~~
######回复
@首席撸破皮 : 谢谢,可以接受。我当时用的$.post()直接传递,在PHP接受不了post传过来的,但用$.get()就可以,用你的案例可以接受到,也就是说直接$.ajax可以接受。谢谢你的帮助。感谢######回复
@键盘浪人 : 呵呵 看错了######回复
@键盘浪人 : 上面的方法肯定可以接收的。如果接收不了,肯定是你写得有问题。这个方法我已经写了千百次。######回复
@zuiw : ... datatype是将回调的数据解析。PHP端直接用POST接收则可。这个方法和 $.getJson一样######jq是用的post方式提交的,但是提交的值是json格式的,获取的时候先要把json的转换成数组,直接$_POST['name'] 是不行的######在Firefox里打开按F12打开Firebug,看看点击登录时“网络”那里的情况不就知道了。
######
没代码说个XX,如果php连这都能出问题,真是白发展这么些年了 ######
引用来自“首席撸破皮”的评论
HTML ajax端
$.ajax({
url:'/login.php',
data:{'name':name, 'pwd':pwd},
type:'POST',
dataType:'json',
success:function(data){
console.dir(data)
if(data.status == '1')
alert(data.mes)
}else{
alert(data.mes)
}
}
})
php端:
$sql = "SELECT * FROM user WHERE user = '{$_POST['name']}' AND pwd = '{$_POST['pwd']}'",
//后面大概就是查数据,看看有没有结果。
if(){
echo json_encode(array('status' => '200', 'mes' => '登录成功'));
}else{
echo json_encode(array('status' => '0', 'mes' => '帐号密码错误'));
}
学习了######
$.post('/login.php', {name: name, pwd: pwd}, function (ajax) {
console.log(ajax);
}, 'json');
PHP: var_dump($_POST); data:{name:name,pwd:pwd},
PHP: var_dump($_POST);
or
PHP: var_dump($_REQUEST); 必须确保网页服务器报告的MIME类型与我们选择的dataType所匹配。比如说,XML的话,服务器端就必须声明 text/xml 或者 application/xml 来获得一致的结果。
首先要确保你传过去的是json数据格式,然后在php端进行打印看看
echo json_encode($_POST);