Как искать элемент в базе данных, если он не найден в объекте angular.js? - PullRequest
0 голосов
/ 21 сентября 2018

Попытка сделать запрос ajax, когда в объекте не найдены искомые данные.

HTML: -

Search programming languages: <input type="Text" ng-model="out.pl">
<div ng-controller="MyContRollEr">
   <table border="2">
       <tr>
           <td>Programming Language:</td>
           <td>Percentage:</td>
           <td>Salary:</td>
           <td>People:</td>
           <td>Started Date:</td>
       </tr>
     <tr ng-repeat="data in info | filter:out">
       <td>{{data.pl}}</td>
       <td>{{data.percent}}</td>
       <td>{{data.salary |currency:'Rs.'}}</td>
       <td>{{data.people | number :2}}</td>
       <td>{{data.date | date:"yyyy/MM/dd"}}</td>
    </tr>
  </table>

Контроллер: -

var app = angular.module('app',[]);
app.controller('MyContRollEr',function($scope) {
  var info = [
       {pl:'php',percent:'10%',salary:10000000,people:234524},
       {pl:'Java',percent:'20%',salary:9822200,people:234443},
       {pl:'python',percent:'10%',salary:8739300000,people:2345521)},
     ];
     $scope.info = info;
 });

MyФункция: -

  function sendRequest(){
     $http({
       method:'POST',
       url:'index.php',
       data:{search:'data'}
      }).then(function(data) {
        $scope.out = data;
      })
  }

Как это сделать, комбинируя мой контроллер, функцию и модель.

1 Ответ

0 голосов
/ 21 сентября 2018

, это где угловой сервис вступает в игру.Вы должны создать новый файл для контроллеров и служб.Для простоты вы можете просто добавить следующий код в ваш текущий файл ПОСЛЕ контроллера:

   app.service('myService',function($http) {
       this.sendRequest = function() {
           $http({
               method:'POST',
               url:'index.php',
               data:{search:'data'}
           }).then(function (response) {
               console.log(response);
               return response.data; // Most APIs have the "data" in the response object. But you can take this out if the console log doesn't show that key in the object.
           })
       }
   )

Как только это будет сделано, вы добавите свой сервис в ваш контроллер здесь:

    app.controller('MyContRollEr',function($scope, myService) { // Notice that the service is a parameter in controller now.

Далее, давайте вызовем POST, нажав на сервис.Внутри вашего блока контроллера напишите следующее:

     myService.sendRequest().then(function (response) {
         console.log(response);
     })

Если вы не используете Gulp (или что-то подобное), вам нужно будет добавить службу в ваш index.html (или любой другой файлваш базовый html файл) файл, как вы сделали (я полагаю) с вашим контроллером.

Дайте мне знать, если у вас есть какие-либо вопросы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...