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

HTTPClient POST尝试解析非JSON响应

沃阳飙
2023-03-14

我试图在Angular中发出请求,我知道HTTP响应不是在JSON中,而是在文本中。但是,Angular似乎期待一个JSON响应,因为错误如下:

SyntaxError:JSON中XMLHttpRequest.c的JSON.parse()位置0处的意外标记<

return this.http.post(this.loginUrl, this.createLoginFormData(username, password), this.httpOptions)
  .pipe(
    tap( // Log the result or error
      data => console.log(data);
      error => console.log(error)
    )
  );
private httpOptions = {

  headers: new HttpHeaders({
    'Accept': 'text/html, application/xhtml+xml, */*',
    'Content-Type': 'application/x-www-form-urlencoded',
    responseType: 'text'
  },

) };

我认为responsetype:'text'足以使Angular expect得到非JSON响应。

共有1个答案

松高歌
2023-03-14
private httpOptions = {
  headers: new HttpHeaders({
    'Accept': 'text/html, application/xhtml+xml, */*',
    'Content-Type': 'application/x-www-form-urlencoded'
  }),
  responseType: 'text'
};

使用之前的内容,将向服务器发送responsetype的请求标头,而不是简单地向Angular发出将响应视为文本的指令。

 类似资料:
  • 问题内容: 我正在尝试使用下面的确切结构来解析JSON文件。 我正在使用以下jQuery函数: 我做错什么了吗? 问题答案: 您没有访问正确的元素。不指向,它指向最外面的元素(是它的属性)。该数组包含在: 进一步说明: 如果仅访问属性一次,则无需创建局部变量(但当然,它可能更易读)。 虽然连续使用分号是没有错的,但这是不必要和令人困惑的(至少这使我感到困惑;)

  • 问题内容: 任何人都知道以下代码是什么类型的JSON(即使是这样!)?我正在从网站的HTML检索此信息。我正在尝试使用JSON解析器在C#中对其进行解析,但是我必须做大量的准备工作,才能根据JSONLint将其格式化为“有效” JSON。例如,变量的名称应全部用双引号而不是根本没有引号。 这将始终具有相同的格式,我很想直接将其解析为C#或Java对象。 问题答案: JSON要求所有名称都必须用双引

  • 其答复如下: 我相信问题出在响应前面的jsonFlickrApi上。 执行以下代码时: }

  • 下面是我在点击特定Web服务时收到的JSON响应: 我不知道哪个索引有我的期望值(我需要在确定哪个具有)后验证多个值),这是动态的。不希望使用硬编码值。并匹配,因为这将在下次更改。 对此我有两个问题: 如何将响应传递给java代码并获取具有的数组索引,以便使用此索引进行验证? 下面的代码不起作用。

  • 我正在尝试解析一个JSON字符串。在解析之前,我将数据放入了JSON格式,但是我得到了一个“试图获取非对象属性”的错误。 下面是我的代码: 我的JSON字符串将如下所示: 有人能帮我找出我做错了什么吗?

  • 问题内容: 我试图从下面的curl输出中获取说“ ip”的值: 我在互联网上发现了许多示例来解析curl请求的json输出,并且编写了以下代码,但这似乎并没有给我说“ ip”的值 如果有人可以向我提示我需要添加到代码中以获得“ ip”值的提示,我将不胜感激。 问题答案: 您可以创建结构来模仿json结构,然后对json进行解码。 输出为: 通过将其解码为一个结构,您可以循环遍历任何切片,而不会局限