Почтовый метод Angular 2 дает ошибку машинописного текста

Я использую Angular 2 и взаимодействую с API через сервис.
У меня есть метод, который я хочу использовать для публикации в API.

ERROR in src/app/application/users/create-new-user/create-new-user.component.ts(146,5): error TS2554: Expected 0 arguments, but got 1.

user.ts code

var submitData =
{
  first_name: formData.firstName,
  last_name: formData.lastName,
  email: formData.email,
  password: formData.password,
  address_1: formData.address1,
  address_2: formData.address2,}

his.appService.createUser(submitData).subscribe((result: any) => {
  if (result != '') {

appservice.ts

createUser(): Observable<any> {

  const headers = new HttpHeaders()
    .set('security-token', localStorage.getItem('loginToken'));

  return this.http.post<any>(this.basePath + '/user-groups', { headers })
    .pipe(
      map((response => {
        return response.data;
      }))

Добавьте немного кода, чтобы сообщество могло вам помочь

Adrita Sharma 19.07.2019 08:16

добавьте немного кода. ваша служба может ожидать некоторые аргументы, но вы не предоставляете их при вызове

Ameerudheen.K 19.07.2019 08:17

Согласно информации, которую вы предоставили до сих пор, вы дали где-то в своем коде аргумент методу, который его не принимает.

Roman Dorokhov 19.07.2019 08:26

@AdritaSharma ты можешь помочь

Dimuthu 19.07.2019 08:41

@AmeerPappay я использую аргументы

Dimuthu 19.07.2019 08:42

Вы можете опубликовать приложение Service.create Код пользователя. возможно, вы забыли аргумент в этой функции.

mcsekar 19.07.2019 08:43

@DimuthuMaduranga У вас должен быть параметр в определении функции. В вашем app.service.ts у createUser() должен быть аргумент, который относится к вашему submitData

user3875919 19.07.2019 08:48

В коде createUser(), который вы упомянули, вы возвращаете response.data, который не является типом Observable. Если вы возвращаете тип Observable из службы, вы не должны использовать Pipe там. Просто напишите: верните this.http.post(this.basePath + '/user-groups', {headers}) А также учтите передаваемый аргумент, поэтому функция должна быть определена как createUser(data)

Anil Uttani 19.07.2019 09:06
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
8
219
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В упомянутом кодексе много ошибок. Я укажу их в соответствии с релевантностью. 1.Переданный аргумент Должен быть определен в функции createUser. 2. Вы только устанавливаете заголовок и не передаете никаких данных в запросе POST, который является вашей основной целью. 3. Вы не должны возвращать response.data, а просто возвращать вывод метода POST, поскольку тип возврата createUser — Observable.

Таким образом, правильный способ написания кода должен быть:

createUser (данные: любой): наблюдаемый {

const headers = new HttpHeaders().set('токен безопасности', localStorage.getItem('loginToken'));

вернуть this.http.post(this.basePath + '/user-groups', данные, {заголовки: заголовки}) }

Попробуйте так:

user.ts

  submitData() {

    var submitData =
    {
      first_name: formData.firstName,
      last_name: formData.lastName,
      email: formData.email,
      password: formData.password,
      address_1: formData.address1,
      address_2: formData.address2,
    }
    this.appService.createUser(submitData).subscribe((result: any) => {
      if (result != '') {
        console.info(result)
      }
    })
  }

appservice.ts

 createUser(data:any): Observable<any> {


    let headers = new HttpHeaders();
    headers = headers.set('security-token', localStorage.getItem('loginToken'));

    return this.http.post(this.basePath + '/user-groups', data, { headers })
  }

Другие вопросы по теме