2016-12-02 32 views
5

Tôi muốn có thể điều hướng bên ngoài ứng dụng Angular 2 của mình tới mywebsite.com/api. Điều này sẽ đưa tôi đến một ứng dụng API được lưu trữ trong cùng một máy chủ.Cách truy cập API bằng Angular 2?

Đây là thiết lập tuyến đường hiện tại của tôi.

export const routes: Routes = [ 
    {path: '', redirectTo: '/home', pathMatch: 'full'}, 
    {path: 'home', component: HomeComponent}, 
    {path: 'registration', component: RegistrationComponent}, 
    {path: '**', redirectTo: '/home', pathMatch: 'full'} 
]; 

Làm cách nào để loại trừ đường dẫn vì tôi không cần thành phần hoặc mẫu cho nó?

+0

Bạn đang nói rằng bạn muốn nhấn một endpoint api? Bạn sẽ cần phải làm điều này với gói http cho angular2. Đầu cuối bạn sử dụng là gì? – wuno

+0

Tôi đang lưu trữ một ứng dụng php nhận và trả lời json. – mcfresh

+0

Vì vậy, những gì bạn đang cố gắng làm là nhấn điểm kết thúc api sau đó xử lý các phản ứng phải không? – wuno

Trả lời

0

Trong angular2 bạn sẽ làm api cuộc gọi bằng cách sử dụng http docs here,

import { Http, Response, Headers } from '@angular/http'; 

export class ProfileComponent implements OnInit { 

    constructor(private router: Router, private auth: Auth, private http: Http ) { } 

    private personalSubmit() { 
     let headers = new Headers(); 
     headers.append('Content-Type', 'application/json'); 
     return this.http 
     .post('http://localhost:4200/api/apiEndpointURL', 
     this.personal, 
     { headers: headers }) 
     .map((res:Response) => res.json()) 
     .subscribe((res)=>{ 
      //do something with the response here 
      console.log(res); 
     }); 
    } 

Đây là một ví dụ về việc dán một hình thức. Các giá trị trong biểu mẫu là post và phản hồi là console.log đến terminal trong trường hợp này. Đây là một ví dụ làm việc với đầu cuối của node.js. Tôi không chắc chắn những gì sẽ cần phải được thay đổi cho php nhưng cuối cùng bạn sẽ cần http package. Điều duy nhất là bạn có thể cần phải thay đổi loại ứng dụng tùy thuộc vào những gì bạn đang quay trở lại.

Tôi tin cho php bạn sử dụng như các loại ứng dụng,

headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 

tôi thấy ane xample cho php sử dụng

+0

Cảm ơn, tôi sẽ liên lạc với api trong tương lai nhưng tôi cũng muốn có thể lưu trữ api php để ứng dụng di động có thể giao tiếp với nó. Có vẻ như tôi phải rời khỏi lộ trình mở nhưng tài liệu góc không rõ ràng về điều đó. – mcfresh

+0

Trong nút bạn tạo lộ trình cho phần cuối sao cho có một điểm kết thúc tồn tại. Nhưng nếu bạn đang sử dụng angular2 như một ứng dụng riêng biệt như xa như tôi biết phương pháp http sẽ thực hiện cuộc gọi. Điểm kết thúc api sẽ phải tồn tại ở phía api để nó phát ra khi bạn nhấn nó với bài đăng bạn thực hiện. Tôi có thể chỉ cho bạn cách nó được tạo ra trong nút/express. Quan trọng nhất. Đảm bảo bạn đọc về http để bạn hiểu cách tạo hàm với dữ liệu của mình. http thực sự rất dễ sử dụng. Nhưng bạn sẽ phải tạo một số điểm kết thúc ở phía php. – wuno

+0

mã trên sẽ hoạt động nếu api nằm trong cùng một máy chủ? Về cơ bản, trên ứng dụng web khi bạn nhấn htttp: // mywebsite/** api ** nó sẽ đi các tập tin php (api endpoint) – mcfresh

Các vấn đề liên quan