2017-03-31 5 views
0

私は驚くばかりで、現在は$ http()サービスでデータをいくつか保存しようとしていますが、動作しません。私を手伝ってくれますか?私はanglejsとionicからPHPにデータを送信する方法

フォーム::そのページの

<form name="form"> 
    <input ng-model="model.text" type="text" name="text"> 
    <button class="button" ng-click="saveData()"> Save </button> 
</form> 

コントローラー:

.controller('pagCtrl', function ($scope, $http) { 
    $scope.saveData = function() { 

    $http ({ 
     url : 'http://localhost/prueba/www/php/enviar_datos.php', 
     method : 'POST', 
     data : { text : $scope.form.text.value } 
    }).then (function (response) { 

    }, function (response) { 

    }); 
    } 
}) 

PHP:

<?php 
    $link = mysqli_connect("localhost", "root", "", "testDB"); 

    if (mysqli_connect_errno()) { 
     die("Error de conexión: " . mysqli_connect_error()); 
    } 

    mysqli_set_charset($link, 'utf8'); 
    mysqli_query($link, "INSERT INTO tabla_prueba (texto) VALUES ('" . $_POST['text'] . "')"); 
    mysqli_close($link); 
?> 
これは私が何をしようとしていますものです3210

私は問題は、それが正しくPHPのURLに接続していないと思う。 私はIonicと仕事をしています。ご清聴ありがとうございました!あなたのモデルの名前を変更する必要がありますので

答えて

0

$scope.form.text={}とあなたのjsに

data:$.param($scope.form.text);

を追加し、ボタンにng-clickを削除するには、フォームでng-submit="saveData()"

ng-submitを置きます。それは読みにくい。

ng-model="formData.text" 

とJS

$scope.formData ={} 
data:$.param($scope.formData) 
0

ng-model属性によって定義された変数を使用してください。

<form name="form"> 
    <input ng-model="model.text" type="text" name="text"> 
    <button class="button" ng-click="saveData()"> Save </button> 
</form> 
app.controller('pagCtrl', function ($scope, $http) { 
    //INITIALIZE model object 
    $scope.model = {}; 
    $scope.saveData = function() { 

    $http ({ 
     url : 'http://localhost/prueba/www/php/enviar_datos.php', 
     method : 'POST', 
     //data : { text : $scope.form.text.value } 
     //POST model object 
     data: $scope.model 

    }).then (function successHandler(response) { 

    }, function rejectHandler(response) { 

    }); 
    } 
}) 

複数の入力を容易に制御を変更せずに追加することができる。

<form name="form"> 
    <input ng-model="model.text" type="text" name="text"> 
    <input ng-model="model.name" type="text" name="name"> 
    <input ng-model="model.id" type="text" name="id"> 
    <button class="button" ng-click="saveData()"> Save </button> 
</form> 

すべての入力をシリアル化し、JSON文字列テキストとして送信されます。

+0

ヒントありがとうございました。それは本当に便利でした。 –

+0

それが役に立ったら、答えを受け入れてください。これにより、他の読者は問題が解決されたことを知ることができます。また、回答を受け入れることで評判のポイントが得られます。 – georgeawg

関連する問題