angular - 在 Angular 4 中使用 POST 时获得 200 状态但仍然出现错误

标签 angular typescript web ionic-framework

我有 2 个 POST 正在通过 Promise 运行,但无论哪一个在内部,它们都会捕获而不执行内部 POST。

我有以下代码:

this.http.post(medurl, datamed)
    .toPromise()
    .then(response => {
      console.log('Post Success!');
      console.log('Reponse: ' + response);

      if (response != 0){
        this.http.post(scripturl, datascript)
            .toPromise()
            .then(response => {
            console.log('Post Success!');
            console.log('Reponse: ' + response);
            })
            .catch(error => {
            console.log('Post Error!');
            console.log('Reponse: ' + typeof(error));
            });
       }

    })
    .catch(error => {
      console.log('Post Error!');
      console.log('Reponse: ' + typeof(error));
    });

我不确定问题是什么,因为我已经对 POST 字段进行了两次三重检查,它们在不同的上下文中工作得很好,而且响应是 200。

我不确定要在此处添加哪些其他详细信息,但如果您需要更多信息,请告诉我。

最佳答案

我遇到了类似的问题,我收到了 200 状态响应,但仍然会抛出错误。我必须在 HttpClient 的 post 方法的 options 参数上设置 responseType 属性。

this.http.post(medurl, datamed, { responseType: 'text' })
  .toPromise()
  .then(response => {

    ....

  })
  .catch(error => {
    console.log('Post Error!');
    console.log('Reponse: ' + typeof(error));
  });

https://angular.io/guide/http#requesting-non-json-data

关于angular - 在 Angular 4 中使用 POST 时获得 200 状态但仍然出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54964150/

相关文章:

http - CURL 与 http.get 的不同行为 - CORS

angular - 登录后更新 Angular 4 页面的最简单方法

typescript - 重命名 typescript 对象类型的键

ios - 使用 Swift 进行在线数据存储和传输

angular - 使用 AngularFire2 的 Firebase 数据库事务

angular - SimpleMDE 与 Angular 6 获取组件中编辑器的引用

javascript - 这个 typescript 方案是什么意思?

用于检查当前日期是否比数据库中的日期新的php代码

javascript - 一旦在 node.js Web 服务器上生成图像(使用 express),显示图像的最简单方法是什么?

angular - 属性错误