【问题标题】:Laravel, passed php variable to JS function showing as Key not ValueLaravel,将 php 变量传递给 JS 函数,显示为 Key 而不是 Value
【发布时间】:2020-03-09 13:02:04
【问题描述】:

我目前正在通过 href 点击将 laravel 对象的 ID 传递给 JS 函数

<a onclick="getDetails('{{$details->id}}')"</a>

这在某种程度上有效,因为我的 console.log 显示 id 28 应该是这样。但是,在我的 ajax 调用中发送数据时,我的标头显示 28:,因此它将值作为具有空值的键发送,这意味着我的返回值为空。

如何正确更改此值,以便在我的 ajax 调用中以 ID:28 发送此正确值

<script type="text/javascript">
  function getDetails(detailID) {
   console.log(detailID);
   $.ajax({
   url: "/details",
   data: detailID,
   _token: "{{ csrf_token() }}",
   type: "POST",
   success: function (data) {
   console.log(data);
   },
  });
  };
</script>

【问题讨论】:

  • @TimLwis 对不起,错字。刚刚修好了
  • 没问题(猜的差不多)。下一期,data 不应该是object 吗?喜欢data: {detailID: detailID},?
  • 我认为是正确的,让我看看是不是这个问题
  • 就是这样!我不知道我在想什么,但谢谢你!如果你想回答我会及时接受的
  • 没问题 :) 稍等

标签: javascript php ajax laravel


【解决方案1】:

通过$.ajax() 发送数据时,您的data 属性必须是有效对象(或类似对象):

$.ajax({
  url: "/details",
  data: { detailID: detailID },
  _token: "{{ csrf_token() }}",
  type: "POST",
  success: function (data) {
     console.log(data);
  },
  ...
});

还有其他指定有效数据的有效方法,但 data: detailID 本身并不是其中之一。此外,如果您希望在 Laravel 中以 ID 的形式访问它(如最初建议的那样),只需更改为:

data: { ID: detailID }

【讨论】:

    猜你喜欢
    • 2018-08-05
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2018-03-23
    相关资源
    最近更新 更多