我有这样的Ajax错误代码:
$.ajax({
type: "GET",
dataType: "json",
url: "{{ route('siswa-tugas-get-soal-opsi', ['id_pilihan_ganda' => "+val.id+"]) }}",
success: function (data) {
console.log(data.options);
}
});
如果网址我重写为:(它有效(
url: "{{ route('siswa-tugas-get-soal-opsi', ['id_pilihan_ganda' => 3]) }}",
"+val.id+"
错了?
是的,因为你混淆了blade
和javascript
.
此代码{{ route('siswa-tugas-get-soal-opsi', ['id_pilihan_ganda' => 3]) }}
将在页面加载时呈现在Laravel Blade Engine
上(在服务器中(。但这里的val.id
是一个Javascript变量。它将在页面加载后执行。
溶液
你需要在PHP中保存$val['id']
而不是Javascript。并尝试,
{{ route('siswa-tugas-get-soal-opsi', ['id_pilihan_ganda' => $val['id']]) }}
或
您需要在 Javascript 中编写硬编码的 URL。(不是最佳实践(比如,
url: "your/url/route/"+val.id+"/rest/path",