Я реализую раскрывающийся список кендо и пытаюсь вызвать API, когда пользователь пытается выполнить поиск, вводя символы.Я вижу, что выполняется вызов API, и API возвращает отфильтрованные значения, однако данные не связываются.
Я вижу, что происходит ошибка и выполняется блок err.Ошибка гласит, что
Ошибка Http при синтаксическом анализе для http://localhost:54455/fund/HFRFundSearch?term=as
Может кто-нибудь сказать мне, в чем проблема.Это потому, что API возвращает объект
Вот мой код
<label for="inputFax" class="col-md-2 col-form-label header">Third Party Database Feed</label>
<div class="col-md-3">
<div *ngIf="!EditMode">{{FundDetails.HFRFundName}}</div>
<kendo-dropdownlist style="width:350px" [(ngModel)]="HFRFunds" [data]="HFRFunds" [filterable]="true" [valuePrimitive]="true" textField="text" valueField="id" (filterChange)="handleFilter($event)"></kendo-dropdownlist>
</div>
компонент
handleFilter(value) {
if (value.length >= 2) {
this.fundService.getHFRFund(value)
.subscribe(data => {
this.HFRFunds = data;
},
err => {
this.Error = 'An error has occurred. Please contact BSG';
},
() => {
});
}
}
service
constructor(
private http: HttpClient,
private config: AppConfig)
{ }
getHFRFund(value : string) {
let pars = new HttpParams();
pars = pars.append('term', value.toString());
const url = this.config.api.hfrFundSearch;
return this.http.get(url, { params: pars, withCredentials: true });
}
api.
[HttpGet]
[AuthorizationLevel(AuthAccessLevel.Read)]
public object HFRFundSearch(string term)
{
try
{
var hfrFunds = new List<object>();
if (!string.IsNullOrEmpty(term))
{
term = term.ToLower();
hfrFunds.AddRange(GetViewService<V_HFR_FUND>()
.Where(x => x.HFR_FUND_NAME.ToLower().StartsWith(term))
.Take(10)
.OrderBy(x => x.HFR_FUND_NAME)
.Select(x => new { id = x.HFR_FUND_ID, text = x.HFR_FUND_NAME })
.ToList());
}
return hfrFunds;
}
catch (Exception ex)
{
_logger.Error(ex);
return ex;
}
}