nb123

转载:https://blog.csdn.net/u011280342/article/details/79789379

在jquery的ajax里面有个data参数,是客户的传给服务端的数据 
我们先看第一种常见写法:

 1 前端代码:
 2   var username = $(\'#phone_email_num\').val();
 3   var pwd = $(\'#password\').val();
 4   $.ajax({
 5          url : \'login.php\',
 6          type : \'post\',
 7          data : {username:username,pwd:pwd},  //这里是json对象
 8          success : function(data){......}
 9    )};
10 
11 后端代码:
12 我们打印post过来的值
13 dump($_POST);
14 结果:
15 Array
16 (
17     [username] => 18711111111
18     [pwd] => 123456
19 )

我们再看第二种写法:

前端代码
$.ajax({
       url : \'login.php\',
       type : \'post\',
       data : JSON.stringify({a: \'a\', b: \'b\'}), //这个是json字符串
       contentType: \'application/json\',  //规定传的值是json
       success : function(data){...}
)};

后端代码:
这个时候dump($_POST);其结果:
Array
(
)
什么也没有,我们可以使用如下方法:
$_POST = json_decode(file_get_contents(\'php://input\'), true);
再dump($_POST);其结果:
Array
(
    [a] => a
    [b] => b
)

第一种情况的ajax默认是以application/x-www-form-urlencoded方式提交。也就是常见的表单提交方式。在PHP中使用$_POST方式可以轻松获取,如果使用ajax的application/json方式,记得data参数是字符串类型的。使用JSON.stringify()转换一下

参考:https://blog.csdn.net/m0_37572458/article/details/78622668?locationNum=6&fps=1
https://www.cnblogs.com/CyLee/p/7644380.html
https://segmentfault.com/a/1190000014126990?utm_source=index-hottest

分类:

技术点:

相关文章: