我如何以不同的方式将数据从axios promise打印到我的数据库

时间:2019-05-09 11:17:34

标签: javascript php vue.js

我目前有问题。 我正在向我的数据库发出axios请求,当我检索到数据时,我想将其放入选择形式。我得到了成功的答复,但是我只在一行中得到了结果。我试图在我的.php文件中放入一个"\n",但是我总是处在一行。奇怪的是,当我看到console.log时,我的数据被"\n"分割(因此,我的请求中的每个项目都在不同的行中,就像我想要的一样)

您能帮我这个忙吗?这是我的一些代码,以便您更好地理解。

谢谢!

In PHP request file:

   $result = $mysqli->query("SELECT LanguageFrenchName FROM language");

   while ($row = $result->fetch_array()){

    foreach ($row as $item) {

        echo("\n".$item);

    }
}


In Vue.js file:

methods:{
    getter_langues: function () {
                    axios.get('requete_langues.php')
                        .then(function (response) {
                            get_langues.langues = response.data;
                            console.log (response.data);
                        })
                        .catch(function (error) {
                            console.log(error);
                        });
                }
            },




![expected result showed in console.log] (https://i.ibb.co/kKQkH6Q/Capture3.png)
![actual result showed in one line in select form] (https://i.ibb.co/QXGhWs0/Capture5.png)

2 个答案:

答案 0 :(得分:1)

您的API应该以标准格式返回响应,例如JSON或XML。 JSON显然是首选,因为您使用JavaScript。查看有关如何在PHP中将数据转换为JSON的本教程:https://www.w3schools.com/js/js_json_php.asp

答案 1 :(得分:0)

您应明确使用JSON格式! 但是,如果您仍然想使用"\n"的方式,可以使用<pre> html标记。

https://www.w3schools.com/tags/tag_pre.asp

示例:

<template>
  <pre> {{ foo }} </pre>
</template>

<script>
export default {
  data() {
    return {
      foo: "a\nb\nc"
    }
  }
}
</script>

结果

a
b
c