代码之家  ›  专栏  ›  技术社区  ›  LearnProgramming

LaravelVue,附加请求URL会产生奇怪的URL

  •  0
  • LearnProgramming  · 技术社区  · 5 年前

    我正在尝试附加URL,但生成的URL与预期不符。下面是我测试的代码及其结果。

    由于我使用本地服务器测试我的系统,所需的请求URL是 http://127.0.0.1:8000/api/posts . 我将在不久的将来将此系统部署到远程服务器,因此我无法使用请求URL,因为它现在是。基于下面的代码,我要做的是获取当前主机名并将其附加到路由URL,但它会生成奇怪的URL。如何解决这个问题?

    组件

    created() {
            var test = window.location.hostname + '/api/posts';
            this.axios.get(test).then(response => {
            this.posts = response.data.data;
        });
    

    enter image description here

    路由API(api.php)

    Route::get('/posts', 'PostController@index');
    
    2 回复  |  直到 5 年前
        1
  •  2
  •   Ohgodwhy    5 年前

    如果不需要配置基本URL,只需在AXIOS请求中使用绝对URL即可:

    this.$axios.get('/apiposts')
    

    其中前缀 / 是重要的部分。

        2
  •  0
  •   Sabee    5 年前

    您可能不需要设置baseurl。您是否尝试定义baseurl?例如:

    axios.get(`${proccess.env.HOST}:${PORT}/api/categories`)
    

    将此代码添加到: /src/main.js

    const baseURL = 'http://localhost:8080';
    if (typeof baseURL !== 'undefined') {
      Vue.axios.defaults.baseURL = baseURL;
    }
    

    请看这里的解决方案 Set baseURL from .env in VueAxios

    我想在你的应用程序中baseurl设置为 http://127.0.0.1:8000 (默认)并在此行中将主机附加到此URL var test = window.location.hostname + '/api/posts'; . 不用这个试试。