0
productsearch.service.ts
import { Injectable } from '@angular/core';
import { URLSearchParams, Jsonp } from '@angular/http';
@Injectable()
export class ProductsearchService {
private _url: string = 'app/apidata/products.json'
constructor(private jsonp: Jsonp) {}
search(term: string) {
console.log(this.term);
var search = new URLSearchParams()
search.set('action', 'opensearch');
search.set('search', term);
search.set('format', 'json');
return this.jsonp
.get('app/apidata/products.json?callback=JSONP_CALLBACK', { search})
.map((request) => request.json()[1]);
}
productsearch.component.ts得到錯誤的例外:狀態響應:200 OK的URL:未捕獲和
import {Component} from '@angular/core';
import { FormControl } from '@angular/forms';
import {Observable} from 'rxjs/Observable';
import { ProductsearchService } from './productsearch.service';
@Component({
selector:'app-productsearch',
template:`<h1>product search</h1>
<input type="text" [formControl]="term">
<ul>
<li *ngFor="let p of products | async">{{p.ITEM}}</li>
</ul>
`
})
export class ProductsearchComponent{
products: Observable<Array<string>>;
term = new FormControl();
constructor(private productsearchService: ProductsearchService){}
ngOnInit() {
this.products = this.term.valueChanges
.debounceTime(400)
.distinctUntilChanged()
.switchMap(term => this.productsearchService.search(term));
}
}
}
我創建的輸入按鈕products.json文件中搜索數據 但我得到的錯誤爲:
例外:對於狀態響應:200 OK的URL:應用程序/ apidata/products.json回調= ng_jsonp .__ REQ0。完成&行動= OpenSearch的&搜索= ASA &格式= JSON
和
Subscriber.ts:241未捕獲的響應{_body: 「JSONP注入腳本沒有援引回調。」,狀態:200 ,OK:真,狀態文本: 「OK」,標題:頭......
products.json應該是有效的jsonp格式。是嗎 ? – anshuVersatile