如果视图中的变量为空,如何在JavaScript中传递变量?

时间:2019-09-18 08:39:28

标签: php html ajax laravel

因此,我创建了一个报表系统,但是在最后一步中,我遇到了一个小问题...在JavaScript中,我正在使用数据库中的变量作为Ajax,但是当帖子中没有评论时,我就会Undefined variable: key

这是我的脚本

if (isset($key)){
    $('#yourFormIdComment{{$key+1}}').submit(function(e){
    e.preventDefault();
    var data = $(this).serialize();
    $.ajax({
    method:'POST',
    url:'/career_report_comment',
    data:data,
    success: function (result) {
            // do something with result
        }
    });
    });
}


这是我的变量视图

@foreach($opinionComment as $key => $comments)
    <div class="news-v3 bg-color-white">

<h4 style="font-size: 13px">
        {{ $comments->user->username }}</h4>
    <p>{{ $comments->comments }}</p>
        <ul class="post-shares post-shares-lg">
<li @if ($key === 0) class="active" @endif  style="float: right;left: 20px;bottom: 30px"><a data-toggle="modal" data-target="#exampleModalComment{{$key+1}}" href="javascript:void(0)" ><i class="rounded-x icon-flag"></i></a></li>
</ul>

        </div>
@endforeach

我的问题是...即使帖子没有评论/评论,如何从脚本中传递变量{{$key+1}}?因为这仅在我对帖子发表评论时才会发生。

1 个答案:

答案 0 :(得分:1)

在评论中讨论并检查您的代码后,Andrew i可能已经找到解决您问题的方法。

您收到一个错误:

Undefined variable: key

由于未定义键,您会收到该错误。

if (isset($key)){
    $('#yourFormIdComment{{$key+1}}').submit(function(e){
    e.preventDefault();
    var data = $(this).serialize();
    $.ajax({
    method:'POST',
    url:'/career_report_comment',
    data:data,
    success: function (result) {
            // do something with result
        }
    });
    });
}

在代码的第一部分中,您使用了变量$ key,但是密钥在代码的第二部分中的foreach中定义。这就是为什么您得到错误。