问题描述
我正在使用 laravel 和 jquery 开发一个应用程序。在 Jquery ajax 部分,我有每个页面的动态 url。 代码
$(document).on('click','.assignFlagClass',function(){
var id = $(this).data('id');
var routeName = $(this).data('route');
var url = `route('${routeName}')`;
$('#assignFlagModal').modal('show');
$.ajax({
url:"{{ "+url+" }}",data: {id:id},method: 'get',success: function(res)
{
alert(res);
}
});
});
预期的 URL 输出 localhost:8000/slug/id 输出 localhost:8000+url+?id=1
解决方法
<script>
$(function() {
var url = "{{ route("query") }}";
})
</script>
这仅在您的 url 中没有任何值/参数时才有效..如果您的 url 是动态的,那么您不能从 jquery 使用该路由,因为当 DOM 准备就绪时,您将没有该路由所需的变量。您可以做的一件事是仅在页面完全加载后加载该 jquery。
,你可以使用类似的东西:
<script>
$(function() {
var url = '{{ route("query") }}'
})
</script>