前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于CodeIgniter&Vue-cli构建前后端分离

基于CodeIgniter&Vue-cli构建前后端分离

作者头像
RtyXmd
发布2018-08-30 14:46:41
2.4K0
发布2018-08-30 14:46:41
举报
文章被收录于专栏:前端vue前端vue
下载并安装 CodeIgniter (只负责提供接口)

安装成功运行CI

这是正常CI给的初始页面,CI让我们更改welcome_message文件更换视图,具体方法在controllers/welcome中,但是我们并不需要,因为视图层会用vue,先吧控制器方法做写更改

原文件

代码语言:javascript
复制
更改原控制器welcome
/controllers/welcome/index方法  移除加载视图代码
        $result=array(
            'user'=>'admin',
            'pass'=>123456,
            'u_id'=>753951
        );
        $data=array(
            'code'=>200,
            'msg'=>'请求成功',
            'data'=>$result
        );
        echo json_encode($data);
重新访问CI

更改后CI只负责返回数据

到此CI部分告一段落 开始构建vue

安装vue-cli并初始化项目

代码语言:javascript
复制
cnpm install webpack ci_vue

安装目录为CI根目录下

初始化项目完成-安装好依赖-并成功启动

初始化项目完成-安装好依赖-并成功启动

通过axios请求CI中写好的接口

安装axios

代码语言:javascript
复制
cnpm install axios --save-dev

项目中引入axios 修改文件main.js

代码语言:javascript
复制
import Axios from 'axios'
//配置全局
Vue.prototype.axios=Axios

在组件中使用 修改文件components/HelloWorld.vue

注释部分为ES5写法,需要在修改data的时候提前存入this 而用es6箭头函数则不需要
代码语言:javascript
复制
html部分 在页面最下面添加
<div><button @click="getPhpData">getData</button></div>
<ul>
  <li>u_name:<span>{{user_info.user}}</span></li>
  <li>u_pass:<span>{{user_info.pass}}</span></li>
  <li>u_id:<span>{{user_info.u_id}}</span></li>
</ul>

js部分  初始data数据,添加方法getPhpData
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
      user_info:{}
    }
  },
  methods:{
    getPhpData:function(){
      //es5
      // var this_=this
      // this.axios.get('http://localhost').then(function(res){
      //   if(res.data.code==200){
      //     this_.user_info=res.data.data
      //   }
      // }).catch(function(err){
      //   console.log(err)
      // })

      //es6
      this.axios.post('http://localhost').then(res=>{
        if(res.data.code==200){
          this.user_info=res.data.data
        }
      }).catch(err=>{console.log(err)})
    }
  }
}

现在打开vue页面 点button请求,没有数据返回,打开控制台

跨域

在CI中设置跨域 welcome.php

代码语言:javascript
复制
在页头添加:指定访问,也可以设置为*或者多设置几个访问链接
header('Access-Control-Allow-Origin:http://localhost:8080');

在Vue页面中重新点击button请求

请求前

请求成功

收工

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载并安装 CodeIgniter (只负责提供接口)
  • 重新访问CI
  • 到此CI部分告一段落 开始构建vue
  • 初始化项目完成-安装好依赖-并成功启动
  • 通过axios请求CI中写好的接口
  • 注释部分为ES5写法,需要在修改data的时候提前存入this 而用es6箭头函数则不需要
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档