axios 将参数传递给 laravel 路由

Posted

技术标签:

【中文标题】axios 将参数传递给 laravel 路由【英文标题】:axios get passing parameter to laravel route 【发布时间】:2018-08-14 04:55:48 【问题描述】:

我正在尝试将 vue.js 中的 id 通过 axios.get 传递给 laravel 路由。 我的axios代码加参数如下,

axios.get('http://localhost/laravel_back/public/api/bpaper',
  params: 
    id:12

而我的laravel路由如下,

Route::get('bpaper/id', function($id)

return 'Paper '.$id;
);

执行此代码时,我的浏览器控制台出现 404 错误。请求网址是,

Request URL:http://localhost/laravel_back/public/api/bpaper?id=12

我已经给了access-control allow methods允许通过axios进行通信。并且代码在不提供参数时运行。任何人都知道修复。

【问题讨论】:

试试这个:axios.get('http://localhost/laravel_back/public/api/bpaper', params: 'id': 12 ) @HirenGohel 这与我发布的内容相同,只是没有空格 我在 id 中引用了类似:'id' 你看到了吗? @HirenGohel 对不起我的错。我也试过了,但还是一样,我得到一个 404 错误 【参考方案1】:

考虑到服务器端是Route::get('bpaper/id', function($id) ...id 是路径的一部分,而不是参数。将其添加到 URL。做:

var myId = 12;
axios.get('http://localhost/laravel_back/public/api/bpaper/' + myId)

为清楚起见,将其添加到 myId 变量中,您不必这样做。使用:

axios.get('http://localhost/laravel_back/public/api/bpaper/12')

也可以。

此外,如果您可以访问较新版本的 javascript,您可以从 template strings 中获益:

var myId = 12;
axios.get(`http://localhost/laravel_back/public/api/bpaper/$myId`)

【讨论】:

以上是关于axios 将参数传递给 laravel 路由的主要内容,如果未能解决你的问题,请参考以下文章

将 2 个参数传递给 Laravel 路由 - 资源

将 Laravel 路由参数传递给 JavaScript

如何将 JSON 返回数据作为参数传递给 URL 路由(laravel)

如何将 vue.js 值作为参数传递给刀片中的路由

将参数传递给 Laravel 中的中间件

如何使用 GET 方法将 GET 参数传递给 Laravel?