我有一个奇怪的问题,因为以前在我的应用中,此代码有效,但现在不起作用。 我通过网址从Laravel API获取数据:
/api/customer/{id}/products
要选择2个脚本
$('.js-data-example-ajax').select2({
ajax: {
url: '/api/customer/{id}/products',
dataType: 'json',
data: function (params) {
var query = {
q: params.term,
}
return query;
}
但是Laravel用这种方式创建网址:
api/customer/%7Bid%7D/products
所以,我有%7Bid%7D而不是{id},我正在Google中寻找解决方案,但没有成功。
答案 0 :(得分:2)
字符“ 7B”是{转换为asci,在ajax请求创建var调用“ url”之前
我用他的名字叫这条路线,给它加上名字就可以了
->name('your_name') in the route file
,然后在url变量中使用路由名称代替完整的URL
url = '{{ route("your_route_name", ":id") }}';
然后将id占位符替换为select
url = url.replace(':id', id);
最终在ajax请求中
ajax: {
url: url,
//the rest of ajax request
}