在路由中使用js函数变量
Use js function variable in route
我想通过 ajax 将 ID 传递到我的路线,但不能这样做:
function test(id){
$('#items').DataTable({
ajax: {
url: '{!! route('routename', ['menu_id' => id]) !!}',
type: 'POST'
},
它说使用未定义的常量 id。
我如何使用 javascript 变量通过路由?
无法在 PHP 中使用 javascript 变量,因为服务器端代码在客户端代码之前执行。所以你可以将 JS 变量分配给相等的 PHP 变量,而不是相反。看看这个:
您有以下选择:
- 而不是route parameters, you may use request parameters
- 如果你真的想使用路由参数,你必须将你的路由存储在你的 JS 代码中(例如,如果路由是
http://www.example.com/routename/{menu_id}
,你可以将路由变量存储为绝对变量 url 像这样:var route = http://www.example.com/routename/
或作为亲戚 url 像这样:var route = /routename/
然后在 ajax 请求中附加路由参数,像这样 url: route + id
我认为你可以做到:
function test(id){
var Link = "{!! route('routename',['menu_id' => '']) !!}"+"/"+id;
$('#items').DataTable({
ajax: {
url: Link,
type: 'POST'
},
你可以试试这个。
$(document).on('click', '.clickClass', function () {
var id=$(this).val();
var action = "{{ URL::to('yourroutehere') }}/"+id;
$(".hreflink").attr('href',action);
});
<a href="" class="hreflink">Action</a>
我想通过 ajax 将 ID 传递到我的路线,但不能这样做:
function test(id){
$('#items').DataTable({
ajax: {
url: '{!! route('routename', ['menu_id' => id]) !!}',
type: 'POST'
},
它说使用未定义的常量 id。 我如何使用 javascript 变量通过路由?
无法在 PHP 中使用 javascript 变量,因为服务器端代码在客户端代码之前执行。所以你可以将 JS 变量分配给相等的 PHP 变量,而不是相反。看看这个:
您有以下选择:
- 而不是route parameters, you may use request parameters
- 如果你真的想使用路由参数,你必须将你的路由存储在你的 JS 代码中(例如,如果路由是
http://www.example.com/routename/{menu_id}
,你可以将路由变量存储为绝对变量 url 像这样:var route = http://www.example.com/routename/
或作为亲戚 url 像这样:var route = /routename/
然后在 ajax 请求中附加路由参数,像这样url: route + id
我认为你可以做到:
function test(id){
var Link = "{!! route('routename',['menu_id' => '']) !!}"+"/"+id;
$('#items').DataTable({
ajax: {
url: Link,
type: 'POST'
},
你可以试试这个。
$(document).on('click', '.clickClass', function () {
var id=$(this).val();
var action = "{{ URL::to('yourroutehere') }}/"+id;
$(".hreflink").attr('href',action);
});
<a href="" class="hreflink">Action</a>