2017-02-01 8 views
1

AngularJSが初めてです。私はちょうど私のデータベースからデータを取り出し、それをテキストボックスに保存したいと思う。私はすでにたくさんのものを探しましたが、私は私の問題に答えることはありません。皆さんが私を助けてくれることを願っています。私がしたいのはデータベースからデータを取り出し、それをテキストボックスに表示するだけです!それだけです。ここに私のコードだ:angleJSを使用してデータベースからjson形式でデータを取得し、テキストボックスに表示します

$scope.sample = function(){ 
    $http.post('query?action=get',{ 

    }) 
    .then(function(response){ 
     $scope.info = response; 
    }) 
    .catch(function(response){ 
     alert("error"); 
    }); 
}; 
// call the function 
$scope.sample(); 

とPHPで:

$action = $_GET['action']; 

if($action == 'get'){ 

    $sql = "SELECT * FROM tableSomething"; 
    $sql_res = $con->query($sql); 
    $data = array(); 
    while($row = mysqli_fetch_array($sql_res)){ 
     $data[] = $row; 
    } 

    echo json_encode($data); 
} 

と私のHTMLファイルに

<input type="text" ng-model="info.firstname" > 

私は間違いを得た場所を教えてください。ありがとう!

+0

あなたは '応答'で何を得ますか? – Curiousdev

+0

返信先でメッセージを取得する方法は?私は 'alert(response.data);しようとしましたが、うまくいかないようです。 @Curiousdev –

+0

いくつかのデバッグスキルを適用するだけで、 '$ scope.info = response;にデバッグを入れてください。チェックデバッグはこの' then'関数を打つか、残りのものはきれいに見えます。 – Curiousdev

答えて

0

responseはオブジェクトです。

まず、サーバーリクエストはGETであり、POSTではありません。あなたがresponsedata得る他のコードに問題がない場合

ので$http.get('query?action=get',{

$http.post('query?action=get',{を変更します。

$scope.info = response.data;

$scope.info = response;を交換してくださいあなたのコード例では$scopeの定義を欠いたので、私は完全にそれをテストすることはできません。

私は


にUPDATE 1あなたの問題を解決している願っています:

[OK]を。 AngularJSはあまりにも洞察力があります。

応答内容にJSON構造があり、それをオブジェクトとして返すことがわかります。

文字列化してみましょう:

.then(function(response){ 
     $scope.info = JSON.stringify(response); 
    }) 

<input type="text" ng-model="info" >

Here JSFiddle例

012へのご

<input type="text" ng-model="info.firstname" >

を変更

+0

私はすでにその先生でしたが、データを呼び出してテキストボックスに表示する方法はありますか? @Oscar Zarrus –

+0

段落タグに '{{info}}'を表示しようとしましたが、データをjson形式のテキストで正常に表示しましたが、 'ng-model =" info "'の中に入れると、結果が '[object object]'の結果であり、この 'ng-model =" info.firstname "'を追加しようとしたときには結果はありませんでした。どうして? –

+0

更新があります –

関連する問題