处理查询字符串
本文关键字:字符串 查询 处理 | 更新日期: 2023-09-27 18:09:05
我有一个包含以下方法的CourseAPi Controller:
public IEnumerable<CoursesDTO> Get(int id)
{
var x = _uniManager.GetCourses(id);
return x;
}
我想用angalr js把id从URl发送到这个方法AngularJs控制器:
app.controller('CRUD_OperController', function ($scope, $filter, CRUD_OperService, $location) {
GetAllRecords1();
function GetAllRecords1() {
var id = 12;
var promiseGetSingle = CRUD_OperService.get(id);
promiseGetSingle.then(function (pl)
{ $scope.Courses = pl.data },
function (errorPl) {
// $log.error('Some Error in Getting Records.', errorPl);
});
}
});我的angular服务:
app.service('CRUD_OperService', function ($http) {
//Get All Student
this.getAllStudent = function () {
return $http.get("/api/CourseApi/" );
}
//Get Single Records
this.get = function (id) {
return $http.get("/api/CourseApi/" + id);
}
});
my webapi config
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi1",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.EnableSystemDiagnosticsTracing();
}
更新:它返回我错误GET http://localhost:54070/api/CourseApi/12 404 (Not Found)
这是我为这样一个任务使用的格式:
this.$http({
method: 'GET',
url: 'api/courseapi/' + id
}).then(function (pl) {
$scope.Courses = pl.data
}, function (errorPl) {
$log.error('Some Error in Getting Records.', errorPl);
});
这就是你要问的吗?
我有两个建议:
第一个:在你的angular控制器中使用ng-route配置路由,注入$routeParams模块,然后使用它来检索参数。查看这个链接和Angular文档获取更多信息。
第二个选项是获取url位置并操作字符串以获取参数:
var tokens = $location.absUrl().split("/");
var id = tokens[5]
我更喜欢第一个选项,它比第二个"干净"。希望能帮到你!