javascript - 如何在 Ajax 中使用 Laravel 路由格式连接 url?
问题描述
我有这样的 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 变量。它将在页面加载后执行。
解决方案
您需要保存$val['id']
在 PHP 中而不是 Javascript。并尝试,
{{ route('siswa-tugas-get-soal-opsi', ['id_pilihan_ganda' => $val['id']]) }}
或者
您需要用 Javascript 编写硬编码 URL。(不是最佳做法)喜欢,
url: "your/url/route/"+val.id+"/rest/path",
推荐阅读
- python - 为什么 geopandas 中的线图在显示分层时会忽略绘图顺序
- c# - 无法在核心身份的 ApplicationUser 中保留关系
- windows - git-lfs .gitattributes 文件:奇怪的 unicode 字符
- mysql - MySQL 从 web 到循环网络中的本地服务器的连接
- css - 为什么 padding-left 样式会导致 QComboBox 菜单拉伸到屏幕高度?
- android - 是否可以更改堆栈中 Activity 组的位置?
- c++ - 将 QList 转换为 QStringList 以插入 QComboBox
- typescript - 如何在 Typescript 中返回 Firestore 查询的结果?
- ios - iOS Health Kit 临床患者数据
- angular - url-loader 不适用于 Angular 8 的自定义 webpack