最近做个登录,异步提交数据,就是用jq的$.post发送用户名和密码到php后台,但是发现php无论怎么都接受不到发送过来的值,确定其他都写对了的,没问题的,换个成GET发送到php服务端就可以获取就是换成post就获取不了,我是做登录的,总不能用get方式来登录吧。又不是用的https协议。非常蛋疼。请教各位大牛,PHP该怎么获取js提交过来的post数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
"
HTML ajax端
<pre class=""brush:js; toolbar: true; auto-links: false;"">$.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端:
<?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' => '帐号密码错误'));
}
没代码说个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端:
<?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);