25 lines
		
	
	
		
			632 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			25 lines
		
	
	
		
			632 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | // Create the query string by hand
 | ||
|  | // #docregion
 | ||
|  | import {Injectable} from 'angular2/core'; | ||
|  | import {Jsonp}      from 'angular2/http'; | ||
|  | 
 | ||
|  | @Injectable() | ||
|  | export class WikipediaService { | ||
|  |   constructor(private jsonp: Jsonp) { } | ||
|  | 
 | ||
|  |   // TODO: Add error handling
 | ||
|  |   search(term: string) { | ||
|  | 
 | ||
|  |     let wikiUrl = 'http://en.wikipedia.org/w/api.php'; | ||
|  | 
 | ||
|  |     // #docregion query-string
 | ||
|  |     let queryString = | ||
|  |       `?search=${term}&action=opensearch&format=json&callback=JSONP_CALLBACK` | ||
|  | 
 | ||
|  |     return this.jsonp | ||
|  |                .get(wikiUrl + queryString) | ||
|  |                .map(request => <string[]> request.json()[1]); | ||
|  |     // #enddocregion query-string
 | ||
|  |   } | ||
|  | } |