有人能给我解释一下在chrome和firefox中访问let声明之前的变量时会出现的奇怪的错误信息吗?"让X"。
<script>
$(document).ready(function (e) {
showJobs();
function showJobs() {
let html = '' +
'@foreach(auth()->user()->jobs as $job)'+
'<tr>'+
'<td class="fw-normal">{{ $job->id }}</td>'+
'<td class="fw-normal">{{ $job->employment_type }}</td>'+
'<td class="fw-normal">{{ $job->start_date }}</td>'+
'<td class="fw-normal">{{ $job->end_date }}</td>'+
'<td class="fw-normal">{{ $job->state }}</td>'+
'<td class="fw-normal">{{ $job->city }}</td>'+
'<td>'+
'<form action="{{ route('job.destroy', $job->id) }}" method="post">'+
'@csrf'+
"@method('DELETE')"+
'<div class="btn-group">'+
"<a href="+{{ route('job.edit', $job->id) }}+" class='btn btn-info btn-sm'>Delete</a>"+
'<button type="submit" class="btn btn-danger btn-sm">Edit</button>'+
'</div>'+
'</form>'+
'</td>'+
'</tr>'+
'@endforeach'+
$('#showJobs').append(html);
}
});
</script>
我得到这个错误。
我已经把这些密码
<meta name="csrf-token" content="{{ csrf_token() }}">
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
2条答案
按热度按时间f45qwnt81#
无法在初始化之前访问词法声明
词法变量在初始化之前被访问。当let或const声明在定义之前被访问时,任何块语句都会发生这种情况。
在您的代码中,html变量在声明为
$('#showJobs').append(html);
之前被访问意外标记:识别码
这是语法错误。
在您的代码中,应该用单引号而不是双引号
"@method('DELETE')"
来写因为转换时已使用双引号
下面是正确的代码:
erhoui1w2#
不管它值多少钱;当您也会收到此错误时的建议答案。
我发现我得到了同样的错误,因为我在循环的更后面重新声明了
i
。在重命名主循环计数器之后,一切都恢复正常。