axios post server不接收来自浏览器的数据

时间:2017-02-18 21:51:49

标签: axios

我正在使用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);
?>

有什么想法可能会发生什么?

2 个答案:

答案 0 :(得分:1)

这是我允许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转换我想要发送的任何对象,以便它将形成

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)来检查一切是否正常。然后你可以照常处理数据。

希望它有所帮助

下面是一些有助于更好地理解的图片

enter image description here

enter image description here

答案 1 :(得分:0)

这似乎是一个网络问题。 仔细检查JQuery&amp;上的URL和端口localhost:8888 / dbRouting.php。 Axios演示 它们完全一样吗? 你的.catch是在axios上发射的吗?错误是什么? 你的服务器是否响应localhost:8888?

或者,您可以使用其他客户端(例如Postman https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en

检查您的服务器实施情况
相关问题