【问题标题】:In Vue cli project, where to place Laravel api app and how to call api in vue js?在Vue cli项目中,Laravel api app放在哪里以及如何在vue js中调用api?
【发布时间】:2017-12-25 18:24:44
【问题描述】:

vue 应用在里面:C:\xampp\htdocs\booking

Laravel api 在里面:C:\xampp\htdocs\booking-api

仅供参考:vue 应用正在运行 http://localhost:8080

如果文件夹结构如上,那么应用程序工作正常我可以这样调用api,

axios.get('http://localhost/booking-api/public/Rooms').then((response)=>this.items = response.data);

但我希望 booking-api 文件夹位于 booking 文件夹中。如果我放置它并像下面这样调用 api,

axios.get('/booking-api/public/Rooms').then((response)=>this.items = response.data);

不行,控制台窗口是这样的,

Request URL:http://localhost:8080/booking-api/public/Rooms
Request Method:GET
Status Code:404 Not Found

那么,我如何将api 项目放在vue 应用程序中以及如何从vue 调用api。

【问题讨论】:

  • 当您将booking-api 放入booking 时,您是否重新提供了服务器?
  • @Maraboc,正在处理中
  • 你不能只设置两台虚拟主机,每台都有一个命名域吗?这样就容易多了。
  • @Maraboc ,重新发球后没有运气
  • 试试php artisan cache:clear,然后重新发球!

标签: laravel vue.js vuejs2 laravel-5.4 vue-cli


【解决方案1】:

好吧,我猜你在项目中使用了vue.js webpack build。 步骤。

  1. 使用npm run dev 为您的vue.js 项目服务
  2. 对于npm run dev,vue 的默认服务器是localhost:8080

现在你的 api 部分

  1. 放在哪里都没有关系。按照正常程序安装laravel;使用php artisan serve 提供服务。 它将在127.0.0.1localhost:8000 上正常运行。

  2. 假设:示例组件上的脚本axios.post('localhost:8000/api/postData',data).then((response) => {//do something here}

在此处发布时,您应该注意跨域资源共享,或者如果您删除现有组件,则可能是 csrf 问题。

【讨论】:

    猜你喜欢
    • 2018-09-22
    • 2021-05-03
    • 1970-01-01
    • 2019-04-18
    • 2021-01-05
    • 2019-08-07
    • 2018-06-29
    • 2021-07-02
    • 2019-01-26
    相关资源
    最近更新 更多