所以我有这样的代码:
axios({
method: 'post',
url,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: {
json,
type,
}
})
我原本正常axios.post
,但我改变了这一点,因为我认为这可能是一个头的问题。 但是我仍然在我的检测没有什么$_REQUEST
也不$_POST
。 然而,可以在接收数据file_get_contents("php://input")
任何想法有什么不好?
编辑
好吧,我想我知道什么是错的。 它的发布它作为一个JSON对象,因此只能在PHP读取://输入。 如何将其更改为在爱可信正常的字符串?
从文档 (我没有保存在所列出的材料链接):
使用应用程序/ X WWW的form-urlencoded格式
默认情况下,爱可信序列化JavaScript对象到JSON。 要在应用程序/ x-WWW-form-urlencoded格式发送数据,而不是,您可以使用下列选项之一。
浏览器
在浏览器中,你可以使用URLSearchParams API如下:
var params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/foo', params);
需要注意的是URLSearchParams并不被所有的浏览器都支持,但有可用的填充工具(确保填充工具全球环境)。
另外,您也可以使用QS库数据编码:
var qs = require('qs'); axios.post('/foo', qs.stringify({ 'bar': 123 }));
var params = {
data1: 'string',
}
axios.post(url, params).then(function(response) {
//code here
});
要么
axios.post(url, {data1: 'string' }).then(function(response) {
//code here
});
API
$_POST = json_decode(file_get_contents("php://input"),true);
echo $_POST['data1'];
您可以使用jQuery.param
postdata = $.param({param1: 'value1', param2:'value2'})
您现在可以使用POSTDATA贵之后的参数