Angularjs 返回html而不是json的web api

Angularjs 返回html而不是json的web api,angularjs,asp.net-core,asp.net-core-webapi,Angularjs,Asp.net Core,Asp.net Core Webapi,我创建了一个asp.net核心项目,在这个项目中我有一个angularjs应用程序和一个web api项目。当我通过postman登录时,angularjs应用程序将加载,我将得到json中预期的响应。但是当我在angularjs中尝试同样的方法时,我得到了html的响应 我尝试了很多设置,但无法使其正常工作 尝试设置$http服务标头和$httpProvider标头,但无法在js中使用 我将postman中的内容类型设置为application/json,它可以正常工作,所以我不认为它是正确的

我创建了一个asp.net核心项目,在这个项目中我有一个angularjs应用程序和一个web api项目。当我通过postman登录时,angularjs应用程序将加载,我将得到json中预期的响应。但是当我在angularjs中尝试同样的方法时,我得到了html的响应

我尝试了很多设置,但无法使其正常工作

尝试设置$http服务标头和$httpProvider标头,但无法在js中使用

我将postman中的内容类型设置为application/json,它可以正常工作,所以我不认为它是正确的,因为在js中内容类型是错误的

Startup.cs文件:

    public void ConfigureServices(IServiceCollection services)
    {

        services
        .AddMvcCore()
        .AddJsonFormatters();

        // Add framework services.
        services.AddMvc().AddJsonOptions(
         options =>
            options.SerializerSettings.ContractResolver = new 
          CamelCasePropertyNamesContractResolver()

        );
web api中的控制器是:

    [Route("test3")]
    [HttpPost]
    public JsonResult Test3([FromBody]LoginUserRequest model)
    {
        LoginUserResponse response = new LoginUserResponse();
        response.validLogin = false;
        response.Message = "failed" + model.Email;
        return Json(response);
    }
角js服务:

   vm.getLogin = getLogin;

    function getLogin(request) {
        return $http.post('/webapi/account/test3',request,{
        headers: { 'Content-Type': 'application/json; charset=utf-8'}  
        })
            .then(getLoginComplete)
            .catch(getLoginFailed);


    }

    function getLoginComplete(data, status, headers, config) {

        return data.data;
    }

    function getLoginFailed(e) {
        var newMessage = 'XHR Failed for login';
        if (e.data && e.data.description) {
            newMessage = newMessage + '\n' + e.data.description;
        }
        e.data.description = newMessage;

        return {"error":true, "message":"Unable to login please try again later"};
    }
通过开发者工具的Chrome网络:

请求URL: 申请方式:邮寄 状态代码:200 OK 远程地址:[::1]:5000 推荐人策略:降级时无推荐人 响应头 视图源 内容类型:text/html;字符集=utf-8 日期:2017年7月11日星期二19:58:46 GMT 服务员:红隼 传输编码:分块 请求头 视图源 接受:application/json、text/plain、/ 接受编码:gzip,deflate,br 接受语言:英语GB,英语US;q=0.8,en;q=0.6 连接:保持活力 内容长度:61 内容类型:application/json;字符集=UTF-8 主机:本地主机:5000 来源: 推荐人:


请发布请求响应的正文(内容)。由于文件太大而无法粘贴,必须将其上载到托管站点。这是我在angular service getLoginCompleteIt中得到的主体响应。由于身份验证,您似乎从Test3重定向到了其他方法,因此这是由于发生了这种情况。当API路径错误或服务器配置有一些错误时,就会发生这种情况。你所做的是正确的那没什么问题