我正在使用axios.post,但服务器似乎没有收到后期数据.
这就是我所拥有的:
var baseURL = "http://localhost:8888/dbRouting.php";
var body = {
function: 'foo',
id: 'bar',
}
axios.post(baseURL, body)
.then((response) => { console.log( "Data Loaded AXIOS: " + response.data ); })
.catch(function (error) {console.log(error);});
// Data Loaded AXIOS: array(0) {
// }
另一方面,这个jQuery发布到同一个文件的工作原理如下:
$.post( baseURL, body )
.done(function( data ) {
console.log( "Data Loaded JQUERY: " + data );
});
//Data Loaded JQUERY: array(2) {
//["function"]=>
//string(3) "foo"
//["id"]=>
//string(3) "bar"
//}
服务器文件(dbRouting.php)只是:
<?php
var_dump($_POST);
?>
可能会发生什么想法?
最佳答案 这是我的方式允许后端是PHP通过$_POST处理它.这是我在方法部分的vue中的代码的一部分.
假设你将它发布到post_url并且你有一个对象,var myObject:
var myObject = {
property: value,
property1: value1,
property2: value2
}
在我的vue中,方法部分:
updateForm: function( myObject ){
var post_url = (your post url);
axios.post(post_url, makePostReady( myObject ) )
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
然后在上面(在axios post call之前)或使其成为一个全局函数.我创建了以下函数来使用axios将我想要发送的任何对象作为post发送,以便它将形成
property=value&poperty1=value1&property2=value2......
以下是功能:
function makePostReady( object )
{
var sentence = "";
for (var key in object) {
sentenceAdd = key + '=' + object[key] + '&';
sentence = sentence + sentenceAdd;
}
//console.log( 'sentence: ' + sentence );
return sentence;
}
之后你可以在你的post_url上var_dump($_POST)检查一切是否正常.然后您可以照常处理数据.
希望它有所帮助
下面是一些图片,以帮助更好地理解