axios.post 发送json数据,php服务端如何接收
如果你需要使用Axios通过POST方法发送JSON数据到PHP服务器,你可以直接发送一个JavaScript对象,并且设置headers
中的Content-Type
为application/json
。
以下是客户端(JavaScript)的示例:
import axios from 'axios';
const data = {
key1: 'value1',
key2: 'value2'
};
axios.post('https://example.com/api/some-endpoint', data, {
headers: {
'Content-Type': 'application/json'
}
}).then(response => {
console.log(response.data);
}).catch(error => {
console.error(error);
});
在这个例子中,我们创建了一个JavaScript对象data
并将其作为第二个参数(即payload)传递给Axios的post
方法。同时,我们指定Content-Type
为application/json
。
对于服务端(PHP),你可以使用file_get_contents("php://input")
来获取原始POST数据。然后使用json_decode
函数将接收到的JSON字符串转换成PHP对象或数组。
以下是服务端(PHP)的示例:
<?php
$data = json_decode(file_get_contents("php://input"), true);
if ($data) {
// Access data as $data['key1'], $data['key2']
echo $data['key1']; // Outputs: value1
}
?>
在PHP代码中,我们首先从php://input
读取原始POST数据,然后使用json_decode
函数将JSON字符串转化为PHP数组。现在你可以根据需要处理这些数据。