私は自分のアプリケーション内の検索モジュールを作成しようとしていますが、私のデータベースからの応答は次の形式であると私はそれは私がして、検索用語ずに対応させるにはどうすればよいのエラーに間違ったJson形式の応答を得る。それを必要な形式で返す方法
ERROR SyntaxError: Unexpected token s in JSON at position 0
sa[{"id":"4","worklocation":"Hyderabad","firstname":"Sanjay","lastname":"Tutuki","gender":"Male","aadharno":"0","panno":"2147483647","employeetype":"asdasd","dateofbirth":"2017-07-12","city":"Mumbai"}]
を取得しています?または、エラーなしでコンポーネント内の値を取得する方法。
これは私のコードです:
service.ts:
search(terms: Observable<string>) {
return terms.debounceTime(400)
.distinctUntilChanged()
.switchMap(term => this.searchEntries(term));
}
searchEntries(term) {
const baseUrl="http://localhost/Angular/search.php?search="
return this.http
.get(baseUrl + term)
.map(res => res.json());
}
はコンポーネント:
export class EmployeeDirectory {
data : Data[];
searchTerm$ = new Subject<string>();
constructor(private dataservice : DataService){
this.dataservice.search(this.searchTerm$)
.subscribe(data => {
this.data = data.data;
console.log(data);
});
}
search(searchTerm$){
this.dataservice.search(this.searchTerm$)
.subscribe(data => {
this.data = data.data;
console.log(data);
});
}
}
テンプレート:
<div class="col-md-6 col-sm-12 col-xs-12 ">
<form method="GET" name="form" autocomplete="off">
<div class="col-lg-9">
<div class="input-group">
<input type="text" class="form-control" (keyup)="searchTerm$.next($event.target.value)" placeholder="Search for...">
<span class="input-group-btn">
<button class="btn btn-secondary" type="button" (click)="search(this.searchTerm$)" ><i class="glyphicon glyphicon-search"></i></button>
</span>
</div>
</div>
</form>
</div>
<div *ngIf="data">
<table *ngFor="let employee of data">
<tr><td>First Name: </td><td>{{employee.firstname}}</td></tr>
</table>
PHPファイル:
<?php
header("Allow-Access-Header-Origin: *");
$servername ="localhost";
$username ="root";
$password="sandeepchetikam";
$dbase = "mydb";
$conn = mysqli_connect($servername,$username,$password,$dbase);
if(!$conn){
echo "Error" .mysqli_error($conn);
}
$name =$_GET['search'];
print_r($name);
$sql = "SELECT * FROM newdb WHERE firstname LIKE '%{$name}%' ";
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_assoc($result))
{
$rows[] = $row;
}
echo json_encode($rows);
?>
また、この関数は最初の検索キーにのみ応答し、他の検索項目では機能しません。誰もこれで私を助けることができますか?
を助けることを願っていますか? – apokryfos
はい、それが問題でした。みんな、ありがとう 。誰かがこれで私を助けることができますか?どのように私はキーではなく検索として検索ボタンを作るのですか?ボタンのsearchTerm $を送信する方法は? – Prakash
私はあなたがGoogleにできると確信しています。 – apokryfos