【发布时间】:2016-09-30 09:46:02
【问题描述】:
我正在学习 Angular,所以这是我的测试应用程序:http://enrolin.in/test/#/students
现在我想按名称搜索数据库。所以我创建了完全返回我需要的 php。这是php:http://enrolin.in/test/login.php?p=fetchbyname&&name=ak 您必须将 url 中的名称替换为您需要搜索的任何内容。我还创建了一个返回绝对正确结果的部分页面,这是页面:http://enrolin.in/test/#/studentSearch/ak 到目前为止一切都很好但是问题出在:
当我尝试在 http://enrolin.in/test/#/students 中搜索时,angularJS 不会将我路由到类似 http://enrolin.in/test/#/studentSearch/ak 的位置
但改为我在$routeProvider中设置的默认值
这是我的 angularJS(我删除了一些不重要的代码):
var app = angular
.module("Demo", ["ngRoute"])
.config(function ($routeProvider) {
$routeProvider
.when("/students/:id", {
templateUrl: "templates/studentDetails.html",
controller: "studentDetailsController"
})
.when("/studentSearch/:name", {
templateUrl: "templates/studentSearch.html",
controller: "studentSearchController"
})
.otherwise({
redirectTo: "/home"
})
})
.controller("studentDetailsController", function ($scope, $http, $routeParams) {
$http({
url: "http://enrolin.in/test/login.php?p=fetchone&&id=",
method: "get",
params: { id: $routeParams.id }
}).then(function (response) {
$scope.stud = response.data;
})
})
.controller("studentsController", function ($scope, $http, $route,$location) {
$scope.searchStudent=function(){
if($scope.name){
$location.url("/studentsSearch/" + $scope.name);
}
else{
$location.url("/studentsSearch/");
}
}
$scope.reloadData=function(){
$route.reload();
}
$http.get("http://enrolin.in/test/login.php?p=fetchall")
.then(function (response) {
$scope.students = response.data;
})
})
.controller("studentSearchController", function ($scope, $http, $routeParams) {
if($routeParams.name)
{
$http({
url: "http://enrolin.in/test/login.php?p=fetchbyname&&name=",
method: "get",
params: { name: $routeParams.name }
}).then(function (response) {
$scope.studs = response.data;
})
}
else
{
$http.get("http://enrolin.in/test/login.php?p=fetchall")
.then(function (response) {
$scope.students = response.data;
})
}
})
以前每次我想在 html 中添加一个链接到我曾经写过的路由,比如<a href="#/courses">courses</a>
但是现在当我想把它放在函数中时,我不知道该写什么。请帮忙。
【问题讨论】:
标签: javascript php angularjs routing