【问题标题】:Angular2 http get method returns empty _bodyAngular2 http get 方法返回空 _body
【发布时间】:2018-09-14 07:53:33
【问题描述】:

我正在使用 Ionic2 构建一个应用程序,它将 http 请求发送到服务器。但是,我在 http 请求之一上得到 Unexpected end of JSON input。 (其他请求没有这个问题)

我没有更改任何代码,但它突然开始出现此错误。 (直到上周都运行良好)

如下所示,如果我在 POSTMAN 上执行相同的请求,它会返回图像中的响应。会有什么问题?我需要做什么?

代码

var url = this.API_URL + 'api/program/information';
this.http.get(url).map(res => {
    res.json();
}).subscribe( isloggedin =>{
});

编辑: 当我从浏览器中删除所有 cookie 时,它​​在第一次可以工作,然后在第二次试用后就无法工作。

【问题讨论】:

    标签: angular ionic2


    【解决方案1】:

    应该是,

    var url = this.API_URL + 'api/program/information';
    http.get(url).map(response => response.json())
    .subscribe(isloggedin => this.isloggedin =isloggedin);
    

    【讨论】:

    • 我在response.json() 部分出错,因为响应为空。正如您在第一张图片中看到的,_body 是空的。
    • 您需要传递任何标题吗?你改变了api吗?请求没有问题
    • 这就是我的意思。我没有改变 api。正如我所提到的,服务器上的其他 http get 请求工作正常。
    【解决方案2】:

    我使用 Angular 7,我的所有请求都是空的。我在浏览器中复制网址,一切都很好。

    问题是我在服务器上的 C# Core2 应用程序不接受将内容发送到未注册的主机。指示您的服务器允许来自您的域的源主机:

    如果您的服务器是 Core2:

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy("fiver",
                    policy => policy.WithOrigins(
                        "https://otb.expert"
                    ));
                });
            }
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2011-03-18
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多