2017-11-17 17 views
0

私はRESTfulなmysqlバックエンドを作成しました。を除いて フェッチクエリに問題があります。返されるjsonが2つ以上のオブジェクトである場合、何も表示されません。 私はionic3/httpで作業しています。JSON.parseで予期せぬJSON入力の終了

私select.php:イオンで

$sql = "SELECT * FROM products ORDER BY id"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
    // output data of each row 
    $data = array() ; 
    while($row = $result->fetch_assoc()) { 
     $data[] = $row; 
    } 
    echo json_encode($data); 
} else { 
    echo "0"; 
} 

私のサービスファイル:

getProducts(){ 
    return this.http.get("http://localhost/api/products/select.php") 
    .map(res=>{ 
     this.checkMe = res; 

     if(this.checkMe._body !== "0"){ 
     return res.json() 
     } 

    }); 
    } 

私は本当にあなたの助けを必要としています。 ありがとうございます。

+0


おかげで私はあなたが一度に一つの問題に焦点を当て示唆しています。あなたのブラウザでselect.phpを開いて、イオンを含む前にその作業をしてください。問題がPHPにある場合、jsでデバッグに時間を費やしていない – JimL

+0

- 最初に特定のPHPファイルがコールしていることを確認する(アドレスバーにURLを直接渡すか、ブラウザのデバッグツールを使用してリクエストと応答のステータスを監視する) - ここでPHPファイルが正常に動作することを確認するために、プレーンテキストをPHPファイルにエコーします。 - その後、クエリの呼び出しvar_dump()は良いことを確認するためのデータです。 - 次に有効なjsonを返すjson encode()を検証します。希望が助けます –

答えて

0

は、あなたがしようとした。..

getProducts(){ 
    return this.http.get("http://localhost/api/products/select.php") 
    .map(res=>{ 
     this.checkMe = res.json() as any; 

     if(this.checkMe._body !== "0"){ 
     return res.json() 
     } 

    }); 
    } 
+0

私は本当にあなたが私の問題に答えてうれしいです。 解決策を見つけました。 probは: json_encode()操作を停止する私のフィールドの1つにhtml がありました。 –

0

私は私の一つにhtmlタグを持っていたjson_encode()動作を停止させるのMySQLのフィールド。あなたのすべての

関連する問題