Как присоединять Angularjs2 с сервером?

Я пробую делать связь Angularjs2 с сервером, но не смог, буду размещать код моего файла "app.ccomponent.ts", чтобы давать большее объяснение:

import { Component } from '@angular/core';
import { OnInit } from '@angular/core';
import { Http } from '@angular/http';
import { map } from 'rxjs/operator/map';
import { Observable }     from 'rxjs/Observable';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})

export class AppComponent implements OnInit {
  title = "Http";
  datos = Object;

  constructor(private http: Http){}

  ngOnInit(): void {

      this.http.get('http://localhost:4200/items.php').map((res: Response) => res.json())
    .subscribe(
        res => this.datos = res,
        err => console.error(err),
        () => console.log('Funciona!')
    );
  }
 }

provider услуги Http этому сделал инъекцию в главный модуль, поэтому не появляется provider в этом файле.

В точке, где появляется оператор "map", у меня есть много проблем, если я оставляю такой параметр каковым с Вашей скобкой (домашнее животное: Response) бросает в меня следующую ошибку:

[ts] Argument of type' (домашнее животное: Response) => Promise' is not assignable to parameter of type' (я оценил: Response, index: number) => Promise'. Types of parameters 'домашнее животное' and 'оцените' пашите несовместимо. Type 'Response' is not assignable to type 'Response'. Two different types with this ямс exist, but they пахал unrelated. Property 'body' is missing in type 'Response'.

Если я снимаю скобки и это оставляю как домашнее животное: Response. тогда копье следующая ошибка:

[ts] Cannot find ямс 'домашнее животное'. any

Если я снимаю тип "Response" как тип параметра и размещаю его "any" как стоимость или просто лишаю его типа параметра, так как он позволяет мне составлять, но в бою быков он дает мне ошибки. Я скроллирую app с "ng serve", он ощущается в параметре, что я перехожу с ним в функцию "get".

Мой файл items.php - следующий:

<?php

// Conectar a MySQL y obtener los valores deseados.. 
// En este ejemplo se asume que ya tenemos los datos en un array
$json = array(
    'campo1' => 'Jose', 
    'campo2' => 'Miguel',
    'campo3' => 'Cabrera'
);

//Enviar headers y el JSON como respuesta
header('Content-Type: application/json');
header('Content-Type: text/html; charset=utf-8');
echo json_encode($json);

?>

Мой код изменился много, а именно я попробовал различные способы присоединяться в сервер и не смог, специально также продолжил примеры этих двух страниц:

приносить информацию о базе данных с угловым 2

Пролистай Альберто Басало, academia-binaria.com

Ни один из примеров я не функционирует, не, что я врежу. Я не смог устанавливать успешную связь между angulajs2 и сервер.

2
задан 15.08.2019, 14:30
1 ответ

По частям, потому что это несколько вещей. Первое всего. AngularJs 2 не существует. Ты говоришь, что estÃ: s изучая поэтому объяснять тебе этот аспект. Вещь - Угловой JS. Что являются версиями 1. X Углового и потом estÃ: Угловой (что что твой estÃ: s используя), что являются версиями углового 2.0 в дальнейшем.

, Сказанные это я предлагаю тебе, что ты бросил глаз в algún учебник typescript. Например во время объявления переменных

title: string;
title = 'Http';

правильное ser¦ - Сказанный это я исправляю тебе какие-то cosillas c¦digo посмотрим asà - мы добиваемся того, чтобы оно функционировало.

imports

import { Component } from '@angular/core';
import { OnInit } from '@angular/core';
import { Http, Response} from '@angular/http';
import 'rxjs/operator/map';
import { Observable }     from 'rxjs/Observable';

Как verÃ: s importacià из map делается import 'rxjs/operator/map'; не необходимо помещать то, что ten¦-an ранее. AdemÃ: s ты añado importaci¦n Response.

Exportaci¦n класса и строитель

 export class AppComponent implements OnInit {
    datos: any;


      constructor(private http: Http){}

Aquà - мы изменили пару вещей. Сначала http начала не необходим, так как в строителе уже estÃ: s объявляя частную так называемую переменную http. И переменная данные. Если ты не знаешь, что возвращает сервер так как incializamos в any прямо, и я заношу в список.

ngOnInit(): void {

      this.http.get('http://localhost:4200/items.php').map((res: Response) => res.json())
    .subscribe(
        res => this.datos = res,
        err => console.error(err),
        () => console.log('Funciona!')
    );
  }
 }

В принципе с этим уже tendr¦ - в который функционировать даже, что я не очень уверен, если .subscribe funcionarÃ: правильно не будучи внутри метода observable.

, Если он дает тебе algún тип ошибки, прокомментируй это и мы это смотрим.

0
ответ дан 03.12.2019, 12:52