Как отправлять входные значения в ng-repeat? Ионный

#php #angularjs #post #ionic-framework

#php #angularjs #Публикация #ionic-framework

Вопрос:

я не могу отправить значение на свой php-сервер из своего приложения ionic. Я использую эти коды в html ;

   <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».

Комментарии:

1. Ваша ng-модель — veri.mac_id, но вы console.log используете veriler.mac_id. Вот почему он не определен. Как вы пытаетесь получить это на PHP?

2. извините, я забыл изменить это, потому что я перепробовал так много вещей. Когда я изменил на $scope.veri.mac_id и консоль снова выдают «undefined».

3. Как вы пытаетесь получить это на PHP?

4. $postdata = file_get_contents(«php: //input»); if (isset($postdata)) { $request = json_decode($postdata); $user_mail = $request->user_id; $mac_id = $request-> mac_id; } с помощью этого кода. я могу получить user_id, но mac_id не может опубликовать.

5. Откройте инструменты разработки вашего браузера и проверьте этот запрос. Проверьте, правильно ли отправляется JSON.

Ответ №1:

   <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 .

Комментарии:

1. спасибо за ваш ответ. Я попробовал то, что вы сказали, но я получаю «ДАННЫЕ ДЛЯ ОТПРАВКИ неопределенных» в окне предупреждения. Позвольте мне подробнее рассказать о моей проблеме. У меня есть список, который получает данные с моего php-сервера в формате JSON. Я могу успешно получать данные и выводить их на экран. Но мне нужно создать раздел избранного, и я создал форму и добавил входные данные для значений. Я отправляю user_id с помощью localstorage, и я могу успешно получить значение user_id на моем php-сервере. Но когда я пытаюсь отправить значение mac_id, я всегда получаю неопределенные ошибки. Я действительно не знаю, как я могу отправить привязанные данные с моего ввода на мой php-сервер.

2. вы вводите данные во входной текст?

3. обычно я привязываю данные к вводу из JSON. На экране я вижу данные во входных данных. Когда я пытаюсь ввести manual во ввод, но снова вижу undefined. Интересные вещи я использую другую форму на своих других страницах, и я могу правильно отправлять данные вручную. Но на этой странице я не могу этого сделать.

4. updatecode и с помощью этого кода я могу отправлять ручные данные, но я не могу отправлять привязанные данные. <форма> <тип ввода = «текст» имя =»mac_id» ng-модель =»mac_id» ng-значение =»veri.mac_id»> <тип ввода=»отправить» класс =»избранное» ng-click=»добавить избранное (mac_id)»> </form> $scope.veri = {}; $scope.addtofavourite = функция(mac_id){ var link = ‘ example.com/api.php ‘; var mac_id = mac_id; var user_id = loggeduser; оповещение (mac_id); $http.post(ссылка, {user_id : user_id, mac_id : mac_id}).затем (функция(res){ $scope.response = res.data; });};

Ответ №2:

Вы их настроили? Ionic отправит формат json, но PHP не может принять json по умолчанию. Вам нужно будет установить формат получения php в формате 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 ?

});};
  

Комментарии:

1. Спасибо, но моя проблема в моем приложении. потому что я отправляю значение user_id на свой сервер и успешно получаю, но я не могу отправить входное значение на свой сервер. Я привязываю данные mac_id к входным данным и пытаюсь отправить значения, но всегда переменная не определена.

2. updatecode и с помощью этого кода я могу отправлять ручные данные, но я не могу отправлять привязанные данные. <форма> <тип ввода = «текст» имя =»mac_id» ng-модель =»mac_id» ng-значение =»veri.mac_id»> <тип ввода=»отправить» класс =»избранное» ng-click=»добавить избранное (mac_id)»> </form> $scope.veri = {}; $scope.addtofavourite = функция(mac_id){ var link = ‘ example.com/api.php ‘; var mac_id = mac_id; var user_id = loggeduser; оповещение (mac_id); $http.post(ссылка, {user_id : user_id, mac_id : mac_id}).затем (функция(res){ $scope.response = res.data; });};