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

如何在节点获取头中使用嵌套对象/数组表示法?

燕靖
2023-03-14

我正在尝试根据以下规范从typescript应用程序进行fetch()api调用:

  • 方法:POST

在节点获取调用中尝试对头使用嵌套对象/数组值时,我遇到以下错误。

(属性)RequestInit。标题?:HeadersInit类型“{”内容类型“:字符串;'Content Disposition':字符串;'Memsource':{'targetLangs':字符串[];};}”不可分配给类型“HeadersInit”。类型“{”内容类型“:字符串;“内容处置”:字符串;“Memsource”:“{”目标长度“:字符串[];};}”类型“Headers”中缺少以下属性:forEach、append、delete、get和其他7个属性。ts(2322)指数。d、 ts(45,5):预期的类型来自属性“headers”,该属性在类型“RequestInit”上声明

下面是给出问题的代码行。

let project: Promise<Response> = await fetch(apiURL, {
    method: 'POST',
    headers: {
      'Content-Disposition': 'd:/_export/en_US.json',
      'Memsource': { 'targetLangs': ['fr_fr', 'es_es'] },
    },
  }).then(res => res.json())
    .then(json => json)
    .catch(err => console.log(err));

我应该怎么做来解决这个问题?我不能用这个符号吗?

共有1个答案

经昱
2023-03-14

我认真研究了这个问题,了解到HTTP请求头(或节点获取中的headers对象)只支持简单的键/值对。这就是嵌套的json值在此上下文中失败的原因。

我累了,使嵌套的值一个简单的json字符串,把引号周围的整个json和转义的所有内部引号,如下,它的工作就像魅力。

'Memsource': '{ \'targetLangs\': [\'fr_fr\', \'es_es\'] }'

一旦我确认它能工作,我就把它改成JSON。stringify()语句,它运行良好。哦,我不得不在“内容配置”值中做一个小错误更正。

var customHeader = {'targetLangs': ['fr_fr', 'es_es'],};
let project: Promise<Response> = await fetch(apiURL, {
    method: 'POST',
    headers: {
      'Content-Disposition': 'filename=d:/_export/en_US.json',
      'Memsource': JSON.stringify(customHeader),
    },
  }).then(res => res.json())
    .then(json => json)
    .catch(err => console.log(err));

我想我可以分享一下,以防其他人需要这些信息。

 类似资料:
  • 我想从API中获取countynames,它返回嵌套对象; 等等,有200多个国家,每个县都有自己的“编号”。最后,我想列出所有“姓名”信息。我想我应该使用JsonDeserializer,但不幸的是我不能。

  • 我有一个mongodb文档,我正在使用axios ajax调用来提取它。文档有一个对象数组,其中还包含一个嵌套的对象数组。每个对象都分配了一个mongo id。最顶端的数据显示在相应的最顶端的表示组件中,但对象的后续阵列不会显示在其相对表示组件中。我得到的错误是。“TypeError:this.props.card.rdfts未定义”,但会显示它的非数组同级。然而,当我查看react-dev工具和

  • 问题内容: 我在下面的对象中尝试获取所有id值。 使用以下代码,我仅获得第一个id值。有没有办法从嵌套对象中获取所有id值,而无需使用任何外部模块。 预期产量 问题答案: 您可以使用如下所示的JavaScript函数来获取嵌套属性: 检查此小提琴以获取可行的解决方案。

  • 我有如下所示的数据 现在我想获取所有记录的地址,但是当您看到输出时,我将其作为[对象]获取。那么任何人都可以告诉我如何获得地址吗? 这是我的代码: 输出:

  • 我的Firebase结构如下: 我想使用AngularFire将用户转换为数组,以便使用AngularFire对其进行过滤,如下所示: 问题是,我还需要Lessons对象的子对象数。当我记录userListfb时,它是一个数组。但是在数组中,课程节点仍然是一个对象。我无法使用长度来获取其长度。使用Firebase AngularFire查找课程节点的子节点数的正确方法是什么? 根据Frank的解决

  • 有什么方法可以创建一个Gson的自定义转换器来提取字段,从而使regetfit返回appipiate POJO吗?