首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Axios使用vuejs cli获取php文件不起作用

Axios使用vuejs cli获取php文件不起作用
EN

Stack Overflow用户
提问于 2018-06-18 02:25:23
回答 1查看 1.4K关注 0票数 1

每次我在vuejs cli上使用axios向php文件发出get请求时,它都不会运行脚本,而是在没有实际运行脚本的情况下转储完整的php脚本。但是,如果我尝试从浏览器的地址栏中使用所需的参数访问该地址,它将返回正确的响应。

下面是我的代码:发出get请求的Vue组件

代码语言:javascript
复制
<script>
import axios from 'axios'
export default{
    data(){
        return{
            id : this.$route.params.id,
            post:{}
        }
    },
    created(){
        axios.get('../../php/ajaxfile.php?postid='+this.id).then((response)=>{
            this.post = response.data;
            console.log(response.data);
        }).catch((error) =>{
            console.log(error);
        });
    }
}

Php脚本:

代码语言:javascript
复制
<?php
include 'config.php';
if(isset($_GET['postid'])){
    $condition  = " id=".$_GET['postid'];
}
$userData = mysqli_query($con,"select * from blogpost WHERE ".$condition );

$response = array();

while($row = mysqli_fetch_assoc($userData)){

    $response[] = $row;
}

echo json_encode($response);
exit;

请帮我找出我做错了什么

EN

回答 1

Stack Overflow用户

发布于 2018-07-03 20:44:16

如果你在开发环境中,你可能会通过http://localhost:8080访问你的vue应用程序。

您的axios应该调用本地web服务器的真实url:

代码语言:javascript
复制
axios.get(process.env.ROOT_API+'/ajaxfile.php?postid='+this.id)

并将配置定义添加到您的开发和生产配置中(/ ROOT_API /dev.env.js和/ config /prod.env.js):

这是我的dev.env.js:

代码语言:javascript
复制
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  ROOT_API: '"http://my-local-domaine.ltd"',
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50899362

复制
相关文章

相似问题

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