我正在使用 Angularjs + select 2。我必须动态更改 Ajax URL 以获取基于过滤器的自动完成值
示例:
我有 3 个不同的 API URL,
Movie,
Song,
Image
如果用户选项是电影,则请求应发送至电影 REST API。
我已关注此网址:select2 change ajax url
并在 Angular js 中执行了以下操作
$scope.getbaseURL = function () {
$scope.baseurl = GENERAL_CONFIG.WebApi_Base_URL[$scope.type];
return $scope.baseurl;
}
$scope.multi = {
minimumInputLength: 5,
ajax: {
headers: {
'Content-Type': 'application/json'
},
url: $scope.getbaseURL() + "Lookup?lookup=Lookupvalue",
data: function (term, page) {
return {
key: term
}; // query params go here
},
results: function (data, page) {
return {
results: data.LookupValue
};
}
},
dropdownCssClass: "bigdrop"
}
其中我的 $scope.type 是一个带有
的下拉列表image ,
Movie
Song
但它不会动态或基于类型选择更改 BASE URL。
GENERAL_CONFIG.WebApi_Base_URL[$scope.type]
是配置文件中的 REST URL 的集合
谁能帮帮我,谢谢
最佳答案
如果您希望url
的配置参数是动态的,则它应该是一个函数。试试这个:
$scope.getbaseURL = function () {
$scope.baseurl = GENERAL_CONFIG.WebApi_Base_URL[$scope.type];
return $scope.baseurl + "Lookup?lookup=Lookupvalue";
}
$scope.multi = {
minimumInputLength: 5,
ajax: {
headers: {
'Content-Type': 'application/json'
},
url: $scope.getbaseURL,
data: function (term, page) {
return {
key: term
};
},
results: function (data, page) {
return {
results: data.LookupValue
};
}
},
dropdownCssClass: "bigdrop"
}
关于javascript - Angularjs select2更改ajax url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28623031/