2016-10-18 19 views
0

私のイオンアプリケーションから私のPHPサーバに値を送ることはできません。私はhtmlでこのコードを使用します。ng-repeatで入力値を送信する方法は? Ionic

<form ng-submit="addfavourite()"> 
     <input type="text" ng-model="veri.mac_id"> 
     <input type="submit" value="" class="favourite"> 
    </form> 

私はコントローラにいくつかの値を投稿しようとします。

$scope.veri = {}; 

$scope.addfavourite = function(){ 

    var links = 'http://www.example.com/api.php'; 
    $scope.veri.user_id = loggeduser; 
     $http.post(links, {user_id : $scope.veri.user_id, mac_id : $scope.veri.mac_id}).then(function (fav){ 
     $scope.response = fav.data; 
     if ($scope.response == 1) { 
      $scope.messages = 'Correct.'; 
     } 
     else if ($scope.response == 0) 
     { 
      $scope.messages = 'False.'; 
     } 
     console.log($scope.veriler.mac_id); 
    }); 
}; 

私はmac_idの価値を得るために何かしようとしますが、できませんでした。私がコンソールを見ると、 "undefined"エラーだけが表示されます。

+0

ng-modelはveri.mac_idですが、console.logはveriler.mac_idです。それが未定義の理由です。どのようにPHPでそれを取得しようとしている? –

+0

申し訳ありません私はとても多くのことを試みたのでこれを変更するのを忘れました。私が$ scope.veri.mac_idに変更して、コンソールが "undefined"を再度与えると –

+0

どのようにPHPでそれを取得しようとしていますか? –

答えて

0
<form> 
     <input type="text" ng-model="veri.mac_id"> 
     <input type="submit" value="SEND" class="favourite" ng-click='addfavourite()'> 
    </form> 

JS

$scope.veri = {}; 
$scope.addfavourite = function(){ 
alert('DATA TO SEND '+$scope.veri.mac_id); 
} 

私は怒鳴るを書いたとして、あなたは自分のコードを変更することができます。 ng-clickを追加してng-submitを削除します。

+0

あなたの返事に感謝します。私はあなたが言ったことを試みたが、私は警告ボックスに "未定義のデータを送る"を得る。私の問題についてもっと説明しましょう。私はJSON形式で自分のPHPサーバからデータを取得するリストを持っています。私は正常にデータを取得し、画面に印刷することができます。しかし、私はお気に入りのセクションを作成する必要があり、私はフォームを作成し、値の入力を追加します。私はlocalstorageとuser_idを送信し、私は正常に私のPHPサーバーでuser_idの値を取得することができます。しかし、私はいつも私は未定義のエラーを取得するmac_idの値を送信しようとすると。私は実際に自分の入力から自分のPHPサーバにバインドされたデータをどのように送ることができるのか分かりません。 –

+0

あなたは入力テキストにデータを入力していますか? –

+0

通常、JSONの入力にデータをバインドします。画面上で私は入力内のデータを見ることができます。私は手動入力を入力しようとするが、私は再び未定義と見なす。面白いことに、別のフォームを別のページで使用しています。私は手動でデータを正しく送信できます。しかし、このページでは私はできません。 –

0

これは設定済みですか? Ionicはjson形式を送信しますが、PHPはjsonをデフォルトにすることはできません。 php receive json形式を設定する必要があります。

header('Content-Type: application/json; charset=UTF-8'); 

//Allow all domain names to be accessed 
header('Access-Control-Allow-Origin:*'); 

$content_type_args = explode(';', $_SERVER['CONTENT_TYPE']); 
if ($content_type_args[0] == 'application/json') { 
    $_REQUEST = json_decode(file_get_contents('php://input'), true); 
}; 

お試しください。

$scope.addfavourite = function(){ 

    var user_id = $scope.veri.user_id; 
    var mac_id = $scope.veri.mac_id; 

    var data = {}; 
    data.user_id = user_id; 
    data.mac_id = mac_id; 

    var links = 'http://www.example.com/api.php'; 

    $http.post(links, data).then(function (fav) { 

     $scope.response = fav.data; 

     if ($scope.response == 1) { 
      $scope.messages = 'Correct.'; 
     } 
     else if ($scope.response == 0) { 
      $scope.messages = 'False.'; 
     } 

     console.log($scope.veriler.mac_id); //$scope.veri.mac_id ? 

});}; 
+0

ありがとう、しかし、私の問題は私のアプリです。私は私のサーバーにuser_idの値を送信し、正常に取得するが、私は私のサーバーに入力値を送信することはできません。 mac_idデータを入力にバインドして値を送信しようとしますが、常に変数は定義されていません。 –

+0

updatecodeとwith this code私はmanualdataを投稿できますが、私はbindeddataを投稿できません。

$ scope.veri = {}; $ scope.addtofavourite = function(mac_id){ var link = 'http://example.com/api.php'; var mac_id = mac_id; var user_id = loggeduser; アラート(mac_id); $ http.post(link、{user_id:user_id、mac_id:mac_id}))。 –

関連する問題