Angular js 6 405 (метод запрещен) в docker-compose

Я использую docker-compose для докеризации моего проекта, и у меня есть Php, mysql, nodej.js… Ниже вы можете увидеть весь мой исходный код, который мог понять мои проблемы.

Код docker-compose:

    version: '2'

services:
   db:
     build: ./mysql
     volumes:
       - db_data:/var/lib/mysql
     ports:
         - '3306:3306'
     environment:
         - MYSQL_ROOT_PASSWORD=root
         - MYSQL_DATABASE=testDB
         - MYSQL_USER=pass
         - MYSQL_PASSWORD=devel
         - MYSQL_ROOT_HOST=%
   phpmyadmin:
        build: ./phpmyadmin
        links: 
            - db:db
        ports:
            - '8001:80'
   php:
            build: ./php
            ports:
            - '80:80'
            restart: always
            volumes:
            - /home/samir2/www:/var/www/html
            depends_on:
            - db
   node.js:
        build: ./node.js
        ports:
            - '3000:3030'
        volumes:
        - /home/samir2/www:/var/www/html
volumes:
  db_data:

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

почтальон веб-сервис

Но когда я пытаюсь использовать запрос от angular 6

У меня нет доступа к моему серверу с помощью «405 (метод запрещен)»

Код для моего пользователя службы

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import {User} from "../model/user.model";

@Injectable()
export class UserService {
  constructor(private http: HttpClient) { }
  baseUrl: string = 'http://server/blog/public/api/register';

  createUser(user: User) {
    return this.http.post(this.baseUrl, user);
  }
}

сообщение об ошибке спереди angular.js

мой код add-user.component.html

<div class = "col-md-6">
  <h2 class = "text-center">Add User</h2>
  <form [formGroup] = "addForm" (ngSubmit) = "onSubmit()">
    <div class = "form-group">
      <label for = "email">Email address:</label>
      <input type = "email" formControlName = "email" placeholder = "Email" name = "email" class = "form-control" id = "email">
    </div>

    <div class = "form-group">
      <label for = "firstName">First Name:</label>
      <input formControlName = "firstName" placeholder = "First Name" name = "firstName" class = "form-control" id = "firstName">
    </div>

    <div class = "form-group">
      <label for = "lastName">Last Name:</label>
      <input formControlName = "lastName" placeholder = "Last name" name = "lastName" class = "form-control" id = "lastName">
    </div>

    <button class = "btn btn-success">Update</button>
  </form>
</div>

и add-user.component.ts

import { Component, OnInit } from '@angular/core';
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
import {UserService} from "../service/user.service";
import {first} from "rxjs/operators";
import {Router} from "@angular/router";

@Component({
  selector: 'app-add-user',
  templateUrl: './add-user.component.html',
  styleUrls: ['./add-user.component.css']
})
export class AddUserComponent implements OnInit {

  constructor(private formBuilder: FormBuilder,private router: Router, private userService: UserService) { }

  addForm: FormGroup;

  ngOnInit() {

    this.addForm = this.formBuilder.group({
      id: [],
      email: ['', Validators.required],
      firstName: ['', Validators.required],
      lastName: ['', Validators.required]
    });

  }

  onSubmit() {
    this.userService.createUser(this.addForm.value)
      .subscribe( data => {
        this.router.navigate(['list-user']);
      });
  }

}

Любая идея ?

На изображении с ошибкой отображается запрос GET, а в почтальоне - POST. Можете ли вы опубликовать более связанный код.

yer 21.06.2018 17:36

как получилось, что это метод GET, а в моем сервисе пользователь post (return this.http.post (this.baseUrl, user);)?

Samir Guiderk 21.06.2018 17:39

Можете ли вы опубликовать свой component.ts и html, где вы использовали службу

yer 21.06.2018 17:41

да, все готово, вы можете проверить

Samir Guiderk 21.06.2018 17:47

и когда я попытался изменить метод моего веб-сервиса на GET в сообщении give zone.js: 2969 POST blog / public / api / register 405 (Method Not Allowed), это противоположное, я действительно не понимаю ?!

Samir Guiderk 21.06.2018 19:00

console.info (data) в вашем методе onSubmit ()

yer 21.06.2018 21:23

Спасибо :) Теперь он работает, у меня возникла проблема с полями формы {user created: true} user

Samir Guiderk 22.06.2018 12: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
0
7
289
0

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