Web Api and Angularjs

本文关键字:Angularjs and Api Web | 更新日期: 2023-09-27 18:21:17

我正在尝试实现搜索功能。我编写了一个操作方法,它接受一个查询,然后返回一个项目列表。首先,我不知道如何从angularjs服务中调用它,因为我尝试过的所有方法似乎都不起作用。

public IHttpActionResult GetPeople(string query) {
    var results =db.People.Where(q=>q.Name.Contains(query));
    return OK(results) 
} 

还有另一个方法,它只使用相同的GetPeople()返回数据库中的所有d项,但没有参数。

我试着在angularjs服务中将其称为

Search : function (q) {
   var deffered = $q.defer();
   $http.get("/api/People/"+q).success(deffered.resolve).error(deffered.reject);
   return deffered.promise;
} 

如何调用获取搜索值的d GetPeople方法

Web Api and Angularjs

试试这个:

$http({ method:'GET', url:"/api/People/", params: { query:q}})

它也可以是服务器端方法声明。你有一个将GetPeople映射到api/People的Route属性吗?

一个小提示,在尝试用程序调用api之前,请尝试手动调用它,如果你能分享你的路由配置,那会很有帮助,但无论如何,我认为这应该起作用-

Search : function (q) {
       var deffered = $q.defer();
       $http.get("/api/People?query?"+q).success(deffered.resolve).error(deffered.reject);
        return deffered.promise;
} 

在默认情况下,web api接受动作中的参数作为查询参数,所以这应该起作用,如果你想要一条"更漂亮"的路线,你应该在应用程序的RouteConfig部分创建一条新路线。