首页 > 解决方案 > Angular 6 返回 JSON 结果而不是 HTML 模板

问题描述

是否可以从 Angular 返回 JSON 结果而不是 HTML 模板,因为我们想要构建类似于 API 服务器的东西?谢谢。

这是返回 HTML 模板的示例,我们如何不使用模板只返回 JSON?

我想要返回的只是一个简单的 json 结果而不是 HTML。

{"ID" : "1", "Name" : "Apple"} 

这是代码。

import { Component, OnInit, Input } from '@angular/core';
@Component({
  selector: 'app-noresultsfound',
  templateUrl: './noresultsfound.component.html',
  styleUrls: ['./noresultsfound.component.css']
})
export class NoresultsfoundComponent implements OnInit {

  @Input() txtval: string;

  constructor(private app: AppConstants) { }

  noresultsfound = this.app.noresultsfound;

  ngOnInit() {
  }
}

亚历克斯

标签: jsonangularhttpresponse

解决方案


我认为,他的意思是应该将纯 JSON 返回给曾经通过端点请求请求它的人。至少我遇到过这样的事情。对于静态 json,我找到了答案:https ://github.com/angular/angular-cli/issues/5029

bresleveloper 于 2018 年 7 月 6 日发表评论 1. ng-build 使用您的 index.html 正确设置其组件。(或有条件的应用程序组件) 2. 重命名并将渲染复制到(例如)/src/search.html 3. 在 angular.json(对于 pre v5 的 angular-cli.json)中找到“资产”:

"assets": [
"src/favicon.ico",
"src/search.html",
"src/assets"
],

浏览 localhost:4200/search.html 享受 :)

当您尝试以某种方式生成该 json 且不涉及浏览器时,有趣的部分就出现了 - 就像某些自动服务向某个角度端点发送请求,例如:hosname/statistics 并且作为响应,它接收到一个取决于图片数量的 json 和当前 hosname 上的标题,例如 {siteName: 'test', pictures: 10, headers: 1}。


推荐阅读