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 路由的主要内容,如果未能解决你的问题,请参考以下文章