2015-03-31 21 views
11

Trong AngularJS để gửi yêu cầu, tôi sử dụng dịch vụ $ http dựng sẵn.

Tôi sẽ sử dụng thông tin gì để gửi yêu cầu tới máy chủ trong Angular? Tôi không thể tìm thấy bất kỳ tài liệu nào về chủ đề này.

+0

Bạn vẫn có thể sử dụng $ http. Nó có hoạt động không? – sms

+0

Tôi sử dụng AngularJS2 không phải là 1.x. Bạn có ví dụ về cách sử dụng $ http không? – Evgeniy

+0

Bạn đang sử dụng alpha cho Angular 2? Nếu vậy nó chưa có dịch vụ http. Họ đang làm việc để thiết kế nó ở đây: https://github.com/jeffbcross/http-design – rob

Trả lời

4

EDIT: Có một api preview cho dịch vụ http mới trên góc 2 website tại

Có một cơ bản http service ở góc hiện 2, nhưng ngay rất nhỏ gọn của nó bây giờ. Phần mềm này ở dạng alpha và rất có khả năng thay đổi, vì vậy bạn chỉ có thể muốn sử dụng fetch API, triển khai XMLHttpRequest của riêng mình hoặc sử dụng thư viện như jQuery thay thế. Hiện tại, Angular 2 http api về cơ bản giống với fetch API. Vì rằng fetch ít có khả năng thay đổi hơn, tôi đề nghị chỉ sử dụng điều đó.

Nếu bạn muốn sử dụng 2 dịch vụ kiễu góc, here là một ví dụ ...

import {bootstrap, Component, View, NgFor, Inject} from 'angular2/angular2'; 
import {Http, httpInjectables} from 'angular2/http'; 

@Component({selector: 'http-app'}) 
@View({ 
    directives: [NgFor], 
    template: ` 
    <h1>people</h1> 
    <ul class="people"> 
     <li *ng-for="#person of people"> 
     hello, {{person.name}} 
     </li> 
    </ul> 
    ` 
}) 
export class HttpCmp { 
    people: Object; 
    constructor(http: Http) { 
    http.get('./people.json').toRx().map(res => res.json()).subscribe(people => this.people = people); 
    } 
} 
+0

Cảm ơn. Tin tốt. – Evgeniy

+0

Bất kỳ ý tưởng nào tại sao tính năng này không hoạt động nữa? 'map' không phải là thành viên của' EventEmitter' –

+0

Kiểm tra phần "Thay đổi Breaking" trong liên kết tôi đã thêm trong bản chỉnh sửa của mình. Về cơ bản, bạn chỉ cần gọi .toRx() trước khi gọi .map bây giờ –

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