最近做个登录,异步提交数据,就是用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);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。