当前位置: 首页 > 知识库问答 >
问题:

使用HttpClient将请求发布到本地json文件

任伟
2023-03-14

我有一个名为fake的json文件。我的angular应用程序中的json内部资源。此文件的路径如下所示。

MyApp=

我想使用我的组件中的HttpClient(位于应用程序文件夹内)对此文件发出POST请求。

MyApp=

组件源代码

export class StatisticsComponent {

  persons: Person[];

  options = {
    sDom: 'rt<"bottom"p>',
    pagingType: 'full_numbers',
    pageLength: 10,
    serverSide: true,
    processing: true,
    ajax: (dataTablesParameters: any, callback) => {
      this.http
        .post<DataTablesResponse>(
          './../../assets/json/fake.json',
          dataTablesParameters, {}
        ).subscribe(resp => {
          this.persons = resp.data;
          callback({
            recordsTotal: resp.recordsTotal,
            recordsFiltered: resp.recordsFiltered,
            data: []
          });
        });
    },
    columns: [
      { data: "id" },
      { data: "firstName" },
      { data: "lastName" }
    ]
  };

  constructor(private http: HttpClient) {

  }

}

class Person {
  id: number;
  firstName: string;
  lastName: string;
}

class DataTablesResponse {
  data: any[];
  draw: number;
  recordsFiltered: number;
  recordsTotal: number;
}

我发生了以下错误

的HttpErrorResponse Http故障响应http://localhost:4200/assets/json/fake.json:404找不到

我对此有两个疑问。

>

  • 使用Http或HttpClient向本地json文件发出POST请求是否有效。(到目前为止,我已经使用Http而不是HttpClient完成了GET请求,并成功地获取了数据

    当文件存在于文件夹中时,为什么返回404未找到。

    我需要帮助。

  • 共有2个答案

    齐迪
    2023-03-14

    为了从本地JSON文件读取或写入数据,可以使用JSON服务器。

      创建fake.json文件
    1. 安装json-servernpm i json-server.
    2. 启动JSON Serverjson-server--watchfake.json.
    3. 现在请求服务器在http://localhost:3000/

    请点击文档链接:https://www.npmjs.com/package/json-server

    通典
    2023-03-14

    这是因为您在assets文件夹中放入的任何内容都将通过GET请求提供。您只需导航到http://localhost:4200/assets/json/fake.json在浏览器上。如果要测试POST方法,需要启动服务器。

    HttpModule在Angular的更高版本中被弃用和删除。您应该将其更改为HttpClientModule

    要使用HttpClient对其进行测试,可以执行以下操作。

    HttpClientModule添加到您的AppModule

    在组件中注入HttpClient

    构造函数(私有httpClient:httpClient){}

    并提出如下要求

    this.httpClient.get('/assets/json/fake.json',  { observe: 'body' })
        .subscribe(result => {
          console.log(result);
        });
    
     类似资料:
    • 问题内容: 我有类似以下内容: 它不断返回500。服务提供商说我需要发送JSON。Apache HttpClient 3.1+如何完成? 问题答案: Apache HttpClient对JSON一无所知,因此您需要分别构造JSON。为此,我建议从json.org检出简单的JSON- java 库。(如果“ JSON- java”不适合您,则json.org列出了大量可用不同语言提供的库。) 生成J

    • 问题内容: 我需要将JSON从客户端发布到服务器。我正在使用Python 2.7.1和simplejson。客户端正在使用请求。服务器是CherryPy。我可以从服务器获取硬编码的JSON(代码未显示),但是当我尝试将JSON POST到服务器时,出现“ 400 Bad Request”。 这是我的客户代码: 这是服务器代码。 有任何想法吗? 问题答案: 从Requests 2.4.2及更高版本开

    • 我被夹在中间。我想实现一个POST方法,使用HttpUrlConnection向服务器发送注册用户的电子邮件、名称和密码。以下是我的代码: 我不知道我在哪里犯了错误。我收到以下回复 空格后的“0”是超文本传输协议响应代码返回的响应代码。当我在浏览器中尝试时,我的网址是正确的。我不知道我在哪里犯了错误;是我的服务器故障还是我的代码有错误,因为我不认为我的代码有任何交互处理。 我是Android开发的

    • 问题内容: 我想从“ http://www.indiapost.gov.in/pin/ ”中删除PINCODE ,我正在编写以下代码。 我收到服务器的答复,因为“很抱歉,此站点遇到了严重的问题,请尝试重新加载页面或与网站管理员联系。” 请建议我要去哪里错了.. 问题答案: 你从哪里得到的价值和?一方面,它们不应以“ …”结尾,您必须省略一些内容。另一方面,它们不应该被硬编码。 一种解决方案是这样的

    • 问题内容: 我需要进行API调用,以上传文件以及带有有关文件详细信息的JSON字符串。 我正在尝试使用python请求库来执行此操作: 这将引发以下错误: 如果我从请求中删除“文件”,则它可以工作。 如果我从请求中删除了“数据”,它将起作用。 如果我不将数据编码为JSON,则可以使用。 因此,我认为错误与在同一请求中发送JSON数据和文件有关。 关于如何使它工作的任何想法? 问题答案: 不要使用j