У меня есть странная проблема, когда мои параметры запросов запросов get не работают в сборке prod, но они работают в сборке разработки.
Сначала я использовал HttpModule, я обновился до HttpClientModule снадеется, что проблема может быть решена.Но, к сожалению, безуспешно.
При переходе на HttpClient я впервые столкнулся с этой проблемой, когда вложенные объекты не проходили должным образом.Я исправил это, приведя в порядок все вложенные объекты.
Тем не менее проблема остается там, где при использовании сборки prod не передаются параметры запроса.
Это метод, который я использую для строкового преобразования данныхперед передачей в HttpParams:
stringifyObjects() {
for (var prop in this) {
let isObject = typeof this[prop] === 'object' && this[prop] !== null
if(isObject) {
this[prop] = JSON.stringify(this[prop]) as any;
}
}
}
Этот код я использую для передачи параметров в запрос
let params = new HttpParams({
fromObject: data
})
this.http.get(url, {params: params, headers: headers})
Кроме того, я попытался добавить каждый параметр отдельно:
let httpParams = new HttpParams();
Object.keys(data).forEach(function (key) {
httpParams = httpParams.append(key, data[key]);
});
return this.http.get(url, {params: httpParams, headers: headers})
Все с одинаковым результатом.
Кто-нибудь, кто сталкивался с этой проблемой, или кто-нибудь, кто знает, что может быть причиной этого?
Заранее спасибо.
EDIT
Я добавил эту строку, чтобы проверить, с чего начинается проблема.
console.log('params.toString()', params.toString());
Обнаружено, что this params.toString () возвращает пустое значение.строка (в то время как при разработке разработки, это возвращает строку правильно).Мой подход заключается в том, чтобы вручную добавить строку в URL вместо передачи в виде параметров.
Тем не менее, я не нашел способа исправить это или обойти это.