2016-06-20 7 views
0

Ich möchte einen param von meiner html - zur Serverseite senden und eine Abfrage in mLab durch diesen param finden. so schickte ich in meiner url:wie man params in angular zur Serverseite schickt

http://localhost:8080/getStudentById.html?idStudent=1 

und mein Controller sieht wie folgt aus:

 var showidApp = angular.module('showidApp',['ngRoute']) 
.config(function ($routeProvider, $locationProvider) { 
     // configure the routing rules here 
     $routeProvider.when('/getStusdentById.html', { 
      controller: 'studentidCtrl' 
     }); 
      $locationProvider.html5Mode(true); 
    }) 

showidApp.controller('studentidCtrl',['$scope','$http', '$routeParams',function($scope,$http, $routeParams) { 
    console.log($routeParams.idStudent); 
    $http.get("http://localhost:3000/getbyid/"+ $routeParams.idStudent).success(function(data){ 
     $scope.studById = data; 
     console.log(data); 
    }); 
}]); 

so in meinem Server-Seite habe ich einen Weg getbyid /: id, das funktioniert und ich kann die Daten sehen durch eine ID, die in der URL gesendet wird bekomme ich auf meiner Konsole auf meiner Clientseite - undefined

Ich habe etwas verwirrt mit der Verbindung der beiden. Dank für die Hilfe :)

+0

Teil Verwendung param der ist von $ http ... '$ http.get (url, params)' – harishr

Antwort

0

Wenn Sie mehrere Anfrage params seine bessere Eigenschaft ID zu verwenden für jede ex params: stuentId, schoolId

Unten ist der Beispielcode.

var requestParams = { 
 
    studentId : '1', 
 
    schoolId : '2' 
 
} 
 

 
$http({ 
 
    url : 'http://localhost:3000/getbyid/', 
 
    method: 'GET', 
 
    params: requestParams 
 
}) 
 
.success(function(data) { 
 
    callBackFunc(data); 
 
}) 
 
.error(function(err){ 
 
    console.log('Error: ',err); 
 
});

Auf Server-Seite Sie Anforderungsparameter Objekt erhalten und die params mit der entsprechenden Objekt-ID

+0

Ich habe nur einen param - von Student ID Ich denke, ich habe es wirklich vermasselt – user3488862

+0

, also brauche ich routeParams? – user3488862

0

Ihrer Route Definition wie folgt verwendet werden soll, da idStudent keine URL-Parameter ist. Es ist ein Abfrageparameter, der in $ routeParams automatisch verfügbar ist.

$routeProvider.when('/getStudentById.html', {

Controller:

$http.get("http://localhost:3000/getbyid/" + $routeParams.idStud).success(function(data){ 

seit Ihrer Anfrage param name idStud in http://localhost:8080/getStudentById.html?idStud=1

+0

funktioniert nicht: \ – user3488862

+0

gibt es einen Fehler? –

+0

auf der Serverseite schreibt er mir einen mongoError, den ich nicht verstehe, warum, weil, wenn ich es auf der Server-Seite prüfte und alles gut ist, sehe ich das – user3488862

Verwandte Themen