Javascript 如何使用actions在react es6和axios中发布数据

Javascript 如何使用actions在react es6和axios中发布数据,javascript,php,reactjs,post,axios,Javascript,Php,Reactjs,Post,Axios,我正在尝试使用axios发布数据。我可以让api调用工作,但问题是在服务器端处理数据。php中的正常$\u POST参数为空 我有以下行动 export const UPDATE_CONTENT = 'update_content'; export function updateContent(values) { console.log(values); let obj = {}; obj['params'] = values; console.log(obj)

我正在尝试使用axios发布数据。我可以让api调用工作,但问题是在服务器端处理数据。php中的正常
$\u POST
参数为空

我有以下行动

export const UPDATE_CONTENT = 'update_content';

export function updateContent(values) {
    console.log(values);
    let obj = {};
    obj['params'] = values;
    console.log(obj);
    const request = axios.post(`/api/admin/rename/content/management/format/json`,JSON.stringify(values));
    return {
        type: UPDATE_CONTENT,
        payload: request
    };
}
是一个键值对象

{content : "<p>html text</p>",id:"21"}
因此,在服务器端,我必须执行
$\u POST=json\u解码(file\u get\u contents('php://input",对),


我怎样才能解决这个问题,这样我就不必做
$\u POST=json\u解码(file\u get\u contents('php://input",对),

默认情况下,
axios
将JavaScript对象序列化为JSON,因此只能从
读取它。”php://input“
使用
文件获取内容(”php://input)
。检查

如果要避免这种情况,可以改为以
application/x-www-form-urlencoded
格式发送数据

您可以使用
URLSearchParams
like

var params = new URLSearchParams();
params.append('content', '<p>html text</p>');
params.append('id', '21');
axios.post(`/api/admin/rename/content/management/format/json`,params);

但是,在修复此问题之后,您将需要在客户端的action creator中处理异步操作。有关解决该问题的信息,请参阅默认情况下,
axios将JavaScript对象序列化为JSON,因此只能从
读取该对象。”php://input“
使用
文件获取内容(”php://input)
。检查

如果要避免这种情况,可以改为以
application/x-www-form-urlencoded
格式发送数据

您可以使用
URLSearchParams
like

var params = new URLSearchParams();
params.append('content', '<p>html text</p>');
params.append('id', '21');
axios.post(`/api/admin/rename/content/management/format/json`,params);

但是,在修复此问题之后,您将需要在客户端的action creator中处理异步操作。有关解决该问题的信息,请参阅

您可能还需要阅读此内容,以修复前端上的另一个错误。您可能还需要阅读此内容,以修复前端上的另一个错误。
var querystring = require('querystring');
axios.post('/api/admin/rename/content/management/format/json', querystring.stringify({"id":"21","content":"<p>html text</p>"}));