【问题标题】:How to get jQuery variable with PHP如何使用 PHP 获取 jQuery 变量
【发布时间】:2017-03-13 09:21:26
【问题描述】:

我已经定义了一个 jQuery 变量

var user_id = parseInt($(this).attr('id').replace(/[^\d]/g, ''));

我想得到这样的用户名:

alert({!! \App\User::findOrFail(user_id)->name !!});

这甚至可能吗?

我得到这个错误:

如何通过 jQuery 变量获取用户名??

更新

我这样做了

var user_id = parseInt($(this).attr('id').replace(/[^\d]/g, ''));
{{ var_dump($user_id) }}

我得到这个错误:

【问题讨论】:

  • 在 laravel 刀片模板中你使用了类似这样的东西..... alert({{$test->name}});... 及其工作
  • 是的,但这是动态的,所以我无法修复变量,因为有很多不同的用户
  • 我无法用那个问题解决我的问题

标签: php jquery laravel


【解决方案1】:

您应该将用户数据从控制器传递到视图。在视图中,您可以传递给您的 javascript。

例子:

在你的控制器中

$userName = \App\User::findOrFail(user_id)->name; return view('blade...', ['user_name' => $userName);

在你的刀片中

<script>var userName = '{{ $userName }}' </script>

如果您需要有关用户的更多信息,可以将用户传递给刀片并调用名称,如下所示:`{{ $user->name }}。

如果用户是动态的,您可以考虑制作一个简单的类似 api 的端点来加载用户的数据。

【讨论】:

  • 是的,我知道我可以返回带有 php 变量的视图,但我需要以某种方式让 PHP 在视图中使用 javascript 变量...
  • 我不认为反过来。您不能使 php 与 javascript-variables 一起工作。 PHP 在服务器端处理,javascript 在客户端处理。
  • 是的,你是对的,这是不可能的,而且你所有的答案都是错误的......这只能用 ajax 来完成!!!
【解决方案2】:

您可以在视图中实现它。像这样的

<script> var name = <?php echo \App\User::findOrFail($user_id)->name ?>
</script>

然后在你的 javascript 中使用 name 变量,首先获取 $user_id。

【讨论】:

  • 是的,这正是我想要做的......我的问题是如何从 html div id 获取 $user_id?实际上我得到了变量......但我无法使用它,因为刀片没有看到该变量
  • 例如可以保存在url中,也可以保存在cookie中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多