1、请求

axios.post('/controller/login.php', {

    username: this.form.username,
    password: this.form.password
 })
 .then(function (response) {
    console.log(response);
 })
 .catch(function (error) {

 });

2、使用下边的方式接收参数,不生效,接收到的为空
<?php
public function process(): void
{
$username = $_POST['username']; // does not work
}

3、解决方法,使用php://input

public function process(): void
{

$request_body = file_get_contents('php://input');
$data = json_decode($request_body, true);

$username = $data['username']; // Works!

}

参考手册:https://zerowp.com/sending-axios-parameters-with-a-post-request-in-php/

或者采用URLSearchParams,如下:
const params = new URLSearchParams();
params.append('title', this.queryForm.title);
params.append('solution', this.queryForm.solution);
params.append('content', this.queryForm.content);
params.append('eventNo', this.queryForm.eventNo);
params.append('pageNo', pageNo);

params.append('selectProductIds', selectProductIds);
this.loadingList = true;
axios({

url: '/queryPage',
method: 'POST',
headers: {'Content-type': 'application/x-www-form-urlencoded'},
data: params

})

.then(function (response) {
    if (response.data.code === 0) {
        that.tableData = response.data.data.records;
        that.total = response.data.data.total;

    } else {
        that.$message({type: 'error', message: response.data.msg});
        that.tableData = [];
    }
    that.loadingList = false;
})
.catch(function (error) {
    that.loadingList = false;
    that.$message("获取数据失败" + error);
});

标签: none

添加新评论