php接受axios数据

var params = {
    username: 'admin',
    password: '123456'
}

axios.post('test.php', params).then(res => console.log(res.data))

php代码如下

//传的是一个json对象,可以用file_get_contents("php://input")获取到json串,然后转化为object获取属性

$data = file_get_contents("php://input");

如果用$_POST接受

var params = new URLSearchParams();
params.append('username', 'admin');
params.append('password', '123456');
axios.post('test.php', params).then(res => console.log(res.data));</script>

  

可以看下文档 Using application/x-www-form-urlencoded format这个段落

其他方法

只需要很小的改动,把它变成字符串提交就好。

var params = 'ajax='+encodeURIComponent(JSON.stringify({
    username: 'admin',
    password: '123456'
}));

axios.post('test.php', params).then(res => console.log(res.data))

 

在服务器端 var_dump(json_decode(urldecode($_POST['ajax']))); 了。

如果是要模拟jQuery的Ajax请求,就再加个config

var url = ...
var params = 'ajax='+encodeURIComponent(JSON.stringify(...));
var config = {headers: {'X-Requested-With': 'XMLHttpRequest'}};
axios.post(url, params, config)...

 

接下来在PHP里,就可以用你熟悉的的IS_AJAX、isXmlHttpRequest之类的了

posted @ 2019-06-11 18:34  归一山人  阅读(3737)  评论(0编辑  收藏  举报