首页  >  问答  >  正文

Axios与Laravel一起使用时出现的额外斜杠问题

我是时候寻求一些帮助了,因为我根本不明白这个问题,在这上面花了 6 个小时,却一事无成:-(

我有一个 Axios GET 请求,其最后一个参数可能为空。

axios.get(this.fetchAllUsersRoute + '/' + this.status + '/' + this.pagination + '/' + this.search);

我的 Laravel 路线:

Route::get('/fetch-users/{status}/{pagination}/{search?}', 'MyController@fetchUsers')->name('fetch-users');

当 this.search 为空时,我得到这个:

Request URL: https://mywebsite.dev/fetch-users/0/1/
Request Method: GET
Status Code: 301 Moved Permanently (from disk cache)

每个请求都会重定向到此处:

https://mywebsite.dev/fetch-users/0/1

当该值留空时,最后一个 / 斜杠似乎会导致重定向。

一旦我删除它,问题就停止了......没有重定向。

如果最后一个值为空,知道如何使最后一个斜杠消失吗?

谢谢。

P粉298305266P粉298305266240 天前283

全部回复(1)我来回复

  • P粉269530053

    P粉2695300532024-02-22 10:04:41

    您的请求与路线不兼容。您可以尝试创建如下请求链接。

    var fetchAllUsersRoute = "https://mywebsite.dev"
    var status = 'status'
    var pagination = 'pagination'
    var search
    
    var url = fetchAllUsersRoute + '/' + status + '/' + pagination + (search != null ? ('/' + search) : '')
    
    console.log(url)
    // "https://mywebsite.dev/status/pagination"
    
    search = 'search'
    
    url = fetchAllUsersRoute + '/' + status + '/' + pagination + (search != null ? ('/' + search) : '')
    
    console.log(url)
    // "https://mywebsite.dev/status/pagination/search"

    回复
    0
  • 取消回复