首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >来自PHP/MySQL的Vuejs get请求不起作用

来自PHP/MySQL的Vuejs get请求不起作用
EN

Stack Overflow用户
提问于 2018-07-18 08:42:51
回答 3查看 734关注 0票数 0

我正在写代码从MySQL数据库中获取数据,并使用Vuejs,

代码语言:javascript
复制
this.$http.get("api.php?action=read")
        .then(response => {
          console.log(response);
        }, error => {
          console.log(error);
        });

此请求返回所有api.php内容,但不返回数据。

这是api.php文件

代码语言:javascript
复制
<?php

  require_once('include/config.php');

  $res = (['error' => false]);

  $action = 'read';

  if (isset($_GET['action'])) {
    $action = $_GET['action'];
  }

  if($action == 'read') {
      $images = array();

      $query = 'SELECT * FROM images ORDER BY id DESC';
      $select_images = mysqli_query($connection, $query);
      while($image = mysqli_fetch_assoc($select_images)) {
        array_push($images, $image);
      }
      echo json_encode($images);
  }

  mysqli_close($connection);
  header("Content-type: application/json");
  echo json_encode($images);
  die();
?>

有人能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2018-07-18 10:34:26

它起作用了,

我添加了

代码语言:javascript
复制
header("Access-Control-Allow-Origin: *");

添加到API文件

并从localhost/vuejs链接发出get请求,而不是像localhost:8080那样工作

谢谢

票数 1
EN

Stack Overflow用户

发布于 2018-11-08 05:29:52

在php中包含头文件。注意:在你返回任何东西之前,应该是第一行。

代码语言:javascript
复制
<?php
header("Access-Control-Allow-Origin: *");

并尝试使用命令提示符运行php code prompt:

代码语言:javascript
复制
php -S localhost:8888 ajaxfile.php

注意:尝试使用不同的端口号,因为我无法从运行vueProject的相同8080端口获取api。这将使用您的php创建一个api端点。它将监听http://localhost:8888/projectname/api.php

现在,当使用axios.get(http://localhost:8888/projectname/api.php)时,会得到api.I的响应。我还没有尝试过不使用axios模块,但我猜它应该可以工作。

代码语言:javascript
复制
allRecords: function(){
  axios.get('http://localhost:8888/VueAxios/ajaxfile.php').then(response => {
    this.users = response.data
    console.log(response.data)
  })
  .catch(function (error) {
    console.log(error);
  });
}

这个函数对我很有效。注意: axios在这种情况下是非常方便的。希望能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2018-07-18 08:57:57

尝试使用response.body获取响应数据:

代码语言:javascript
复制
this.$http.get("api.php?action=read")
        .then(response => {
          console.log(response.body);
        }, error => {
          console.log(error);
        });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51391969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档