2016-12-02 16 views
5

Angular 2 uygulamamın dışında gezinmek istiyorum mywebsite.com/api. Bu, beni aynı sunucuda barındırılan bir API uygulamasına götürmelidir.Angular 2'ye sahip bir API'ye nasıl erişilir?

Bu benim geçerli rota ayarım.

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

Ben bir bileşen ya da bunun için bir şablon gerekmez çünkü yolu dışlar nasıl?

+0

kullanarak php için ane xample bulundu Eğer bir API bitiş noktası vurmak istiyorum söylüyorsun? Bunu açısal2 için http paketi ile yapmanız gerekir. Arka tarafta kullanımınız ne? – wuno

+0

Json'u alan ve yanıtlayan bir php uygulamasına ev sahipliği yapıyorum. – mcfresh

+0

Peki, yapmaya çalıştığınız şey api son noktasını vurup yanıtı doğru olarak kullanmaktır? – wuno

cevap

0

angular2 size 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); 
     }); 
    } 

Bu form gönderme bir örnektir kullanarak api çağrı yapacaktır. Formdaki değerler post ve bu durumda terminal yanıtı console.log olur. Bu, node.js arka ucuyla çalışan bir örnektir. php için neyin değiştirilmesi gerektiğine emin değilim ama sonunda http package'a ihtiyacınız olacak. Tek şey, geri döndüğünüze bağlı olarak uygulama türünü değiştirmeniz gerekebilir.

Sana Uygulama türü olarak kullanmak php için inanmak

,

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

Ben

+0

Teşekkürler, Gelecekte api ile iletişim kuracağım ama aynı zamanda bir php API'sini barındırabilmeyi, böylece bir mobil uygulamanın onunla iletişim kurabilmesini istiyorum. Görünüşe göre bir rota açık bırakmam gerekiyor, ancak açısal dokümanlar bu konuda net değil. – mcfresh

+0

Düğümde, arka uç için rota yaratırsınız, böylece var olan bir bitiş noktası vardır. Ama angular2'yi ayrı bir uygulama olarak kullandığınızda, bildiğim kadarıyla http yöntemini arayacaktır. Api uç noktası, api tarafında var olmak zorundadır, böylece yaptığınız yazı ile vurduğunuzda patlar. Düğüm/ifade içinde nasıl oluşturulduğunu size gösterebilirim. En önemlisi. Http hakkında okuduğunuzdan emin olun, böylece verilerinizle işlevin nasıl oluşturulduğunu anlayabilirsiniz. http aslında kullanımı gerçekten çok kolay. Ama senin php tarafında bazı son noktalar yaratmanız gerekecek. Api aynı sunucuda ise yukarıdaki kod – wuno

+0

çalışır mı? Temel olarak, web uygulamasında httb: // mywebsite/** api ** 'ye bastığınızda php dosyaları (api uç noktası) – mcfresh