2016-06-15 2 views
1

최근에 nodeJs에서 프로그래밍을 시작했습니다.노드 Js의 URL에서 값을 추출하는 방법

내가, 내가 같은 방법을 삭제해야

demoApp.factory('class', function ($resource) { 
     return $resource('/class/:classId', { classId: '@_classId' }, { 
     update: { method: 'PUT' } 
     }); 
    }); 

로 그리고 컨트롤러에 API 년대를 호출하는 각도 JS, 자원을 사용하고 있습니다;

// The class object, e {classId: 1, className: "Pro"} 

$scope.deleteClass = function (class) { 
     var deleteObj = new Class(); 
     deleteObj.classId = class.classId; 
     deleteObj.$delete({classId : deleteObj.classId}, function() { 
      growl.success("Class deleted successfully."); 
      $location.path('/'); 
      },function() { 
       growl.error("Error while deleting Class."); 
      } 
     ); 
    }; 

은 브라우저를 사용하여, 나는 전화가 간다 검증에 :

지금 노드 JS에서
http://localhost:3000/class/1 

이, 어떻게, URL에서 값을 추출한다 server.js에서

app.use('/class', classController.getApi); 

In classcontroller.js

,

나는 시도했다

console.log(req.params); 
console.log(req.query); 

그러나 행운.

나는

console.log(req._parsedUrl); 
query: null, 
pathname: '/class/1', 
path: '/class/1', 

감사 어떤 도움

을보고하고있다.

+0

req.url.replace ("/", ""); 나는 1을 추출 할 수있다. –

답변

0

는 같이 req.hostname를 사용해보십시오 :

`http://host/path '

+0

console.log (req.hostname); localhost를 제공합니다. –

+0

어떤 가치를 얻으려고하십니까? 쿼리 문자열 매개 변수가 없으므로 query : null 이유 – eschie

+0

http : // localhost : 3000/class/1 .. 요청은 다음과 같습니다. 1을 추출하려고합니다. –

1

이가 잘 전화를받을해야 하는가? get $ 메소드를 사용하여 angular $ http 서비스를 사용할 수 있습니다. app.use ('/ class')를 app.get ('/ class', function)으로 바꿉니다. 그런 다음 req.param ('classId')을 사용하여 데이터를 검색 할 수 있습니다. 나는 그것이 효과가 있어야한다고 생각한다. 다음 req.params.classId

+0

고마워하지만 그건 전화를 거는거야. 내가 바뀌면 바뀌지 않을거야. –

+0

죄송합니다. app.use ('/ class/: classId')로 app.use를 업데이트 한 다음 req.params.classId를 시도하십시오. – Aravind

+0

아니, 내가 CURD API를 호출하는 내 전체 디자인에 영향을 미칠 것으로 생각되면 변경합니다. –

0

확인이 answer을 시도 : ('CLASSID/클래스 /')

는 app.use하기 위해 app.use를 업데이트하십시오.

Tldr;

var url = require('url'); 
var url_parts = url.parse(request.url, true); 
var query = url_parts.query; 

또한 노드 URL의 docs을 읽습니다.

+0

내가 말했듯이 쿼리 나 매개 변수가 없으므로 요청은 localhost : 3000/class/1입니다. 따라서 쿼리 또는 param 함수가 작동하지 않습니다. –

관련 문제