2017-05-13 5 views
2

이 테스트 데이터를 내 노드 js 서버에서 프런트 엔드로 보내려고합니다. 내 서비스 구성 요소에서Angular2 http get 요청이 HTML을 반환합니다

router.get('/abc', (req, res) => { 
    return res.json({ 
    test: "success!" 
    }); 
}); 

: (즉 내가 CONSOLE.LOG를 사용할 때 내가 무엇을 얻을 : 내 테스트 오브젝트했지만 문자열 형식으로 내 index.html 파일을 받고 끝나는 내가 예상

private url = "http://localhost:4200/auth/abc"; 

getTitles() { 
    return this.http.get(this.url) 
    .map(res => res.json()); 
} 

(res)).

<"!DOCTYPE html">...<"/html"> 

참고로 노드 js 앱에서 cors 모듈을 사용하고 있습니다.

플러스

(내 각-cli.json 파일) :

{ 
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 
    "project": { 
    "name": "angular-app" 
    }, 
    "apps": [ 
    { 
     "root": "src", 
     "outDir": "dist", 
     "assets": [ 
     "assets", 
     "favicon.ico" 
     ], 
     "index": "index.html", 
     "main": "main.ts", 
     "polyfills": "polyfills.ts", 
     "test": "test.ts", 
     "tsconfig": "tsconfig.app.json", 
     "testTsconfig": "tsconfig.spec.json", 
     "prefix": "app", 
     "styles": [ 
     "styles.css" 
     ], 
     "scripts": [], 
     "environmentSource": "environments/environment.ts", 
     "environments": { 
     "dev": "environments/environment.ts", 
     "prod": "environments/environment.prod.ts" 
     } 
    } 
    ], 
    "e2e": { 
    "protractor": { 
     "config": "./protractor.conf.js" 
    } 
    }, 
    "lint": [ 
    { 
     "project": "src/tsconfig.app.json" 
    }, 
    { 
     "project": "src/tsconfig.spec.json" 
    }, 
    { 
     "project": "e2e/tsconfig.e2e.json" 
    } 
    ], 
    "test": { 
    "karma": { 
     "config": "./karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "styleExt": "css", 
    "component": {} 
    } 
} 
+0

확실하지 않지만 'res.json'을 할 때'{ "asd": "asd"}'가 아니라 {asd : "asd"}'를 사용합니다. 얼마나 도움이되는지 잘 모르겠지만 시도해 볼 수 있습니다. –

+0

Giora Guttsait을 고맙습니다.하지만 도움이되지 못했습니다. –

+0

API 끝점이있는 서버가 아니라 webpack dev 서버를 가리키고 있습니다. dev 서버에 프록시를 설치 했습니까? 그렇지 않다면 API가 어디에서 실행되고 있습니까? 거기를 가리 키세요. –

답변

1

내가, 당신의 표현은, "success!"을 반환 "http://localhost:4200/abc"을 기다리고 무엇을 볼 수에 있지만 Angular2 당신의 내부를 기반으로 라우팅의 문제 "http://localhost:4200/auth/abc";을 (를) 치려고합니다.

브라우저에서이 퍼팅하려고하면 결과를 얻을 수 있는지 확인하기 위해 직접 URL을 명중하십시오 : 당신이 다시 JSON을받을 경우

http://localhost:4200/abc 

, 라우터 좋은, 당신 단지 앱에서 URL을 수정해야합니다.

+0

미안하지만, 위에서 언급하지는 않았지만 '인증'으로 지정된 백엔드 라우터를 사용하고 있기 때문에 그렇지 않습니다. –

+0

그러면 해당 URL을 치는 수 있습니다 Angular2 밖? – Milad

+0

"앵귤러 2 바깥"이란 뜻은? –