如果在 angular.js 的对象中找不到,如何在数据库中搜索项目?

Posted

技术标签:

【中文标题】如果在 angular.js 的对象中找不到,如何在数据库中搜索项目?【英文标题】:How to search item in database if not found in object in angular.js? 【发布时间】:2019-02-26 00:30:33 【问题描述】:

当在对象中未找到搜索到的数据时尝试发出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;
 );

我的功能:-

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

如何结合我的控制器、功能和模型来做到这一点。

【问题讨论】:

【参考方案1】:

,这就是角度服务发挥作用的地方。您应该为控制器和服务创建一个新文件。不过为了简单起见,您可以在控制器之后将以下代码添加到当前文件中。

   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 文件)文件中控制器。

如果您有任何问题,请告诉我!

【讨论】:

以上是关于如果在 angular.js 的对象中找不到,如何在数据库中搜索项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复错误在 Angular 2 clickeditor 中找不到名称“对象”

101 在云代码中找不到对象 - 解析服务器

DataContractSerializer:在流中找不到引用 id 'xyz' 的反序列化对象。如何恢复数据?

如果在 cfbundlelocalizations 中找不到语言键,如何设置默认语言

Grails RestBuilder在签名中找不到带有对象的endPoint

如果在多索引系列中找不到索引,如何返回 NaN?