这是为什么HTTP请求中角4失败,而是与小提琴手经历?(Why is this http reque

2019-10-28 12:29发布

我不得不通过小提琴手的HTTP POST请求:使用

http://localhost:58183/api/Account/Register

与身体的

{"email":"jbjunk4@outlook.com","password":"Abc1231*","confirmPassword":"Abc1231*"}

这会执行得很好,电子邮件注册在身份数据库上的WebAPI 2。

但是,我有我的authorize.service.ts下面的代码:

 registerUser(localUser: LocalUser) {
        var headers = new Headers();
        headers.append('Content-Type', this.constants.jsonContentType);
        var creds = JSON.stringify(localUser);
        console.log(creds);
        console.log(this.constants.accountUrl + "Register");

        return this.http.post(this.constants.accountUrl + "Register", creds, { headers: headers })
            .map(res => res.json());
    }

creds = 
{"email":"jbaird9@arsbirder.com","password":"Abc1231*","confirmPassword":"Abc1231*"}

url = http://localhost:58183/api/Account/Register
json-contentType = "application/json;charset=UTF-8";

控制台显示:SCRIPT7002:XMLHttpRequest的:网络错误0X80070005,访问被拒绝。

家HTML1300:导航发生。 家里模板解析警告:元素已被弃用。 使用代替( “柴尔德UI的影子”:根}!“ 级= ”UI菜单列表“(点击)= ”listClick($事件)“> [警告 - >] HTTP://本地主机:58183 / API /帐号/注册authorization.service.ts(47.9)SCRIPT7002:XMLHttpRequest的:网络错误0X80070005,访问被拒绝。

家ERROR语法错误:无效字符core.es5.js(1020,1) “ERROR”{[功能]:, :{},说明: “无效字符”,消息: “无效字符”,名称: “的SyntaxError”,号:-2146827274,栈:“语法错误:无效字符在匿名功能( HTTP://本地主机:4200 / main.bundle.js:788:13 )在SafeSubscriber.prototype .__ tryOrUnsub( HTTP://本地主机:4200 /供应商.bundle.js:37370:13 )在SafeSubscriber.prototype.error( HTTP://本地主机:4200 / vendor.bundle.js:37329:21 )在Subscriber.prototype._error( HTTP://本地主机:4200 /供应商.bundle.js:37260:9 )在Subscriber.prototype.error( HTTP://本地主机:4200 / vendor.bundle.js:37234:13 )在Subscriber.prototype._error( HTTP://本地主机:4200 /供应商.bundle.js:37260:9 )在Subscriber.prototype.error( HTTP://本地主机:4200 / vendor.bundle.js:37234:13 )在的onError( HTTP://本地主机:4200 / vendor.bundle.js :108672:17 )在ZoneDelegate.prototype.invokeTask( HTTP://本地主机:4200 / polyfills.bundle.js:2836:13 )在onInvokeTask( HTTP ://本地主机:4200 / vendor.bundle.js:90272:21 )”}

HTTP405:BAD方法 - 使用的HTTP动词不支持。 (XHR)OPTIONS - HTTP://本地主机:58183 / API /帐号/注册

我不知道这一点。 在此先感谢您的帮助。

Answer 1:

我加入了CORS属性的WebAPI的配置......这一切开始工作... VAR CORS =新EnableCorsAttribute( “”, “”, “GET,PUT,POST,PATCH,DELETE,OPTIONS”); config.EnableCors(CORS);



Answer 2:

这是正常,如果你没有一个发生proxy.conf.json在你的应用程序文件,以允许参观流量到一个不同的端口上的服务器。 角有阻止去一个不同的端口,除非你力的交通功能。 如果您有没有一个proxy.conf.json文件,您可以根据需要做到这一点在你的app root

proxy.conf.json

 {
    "/api": {
      "target": "http://localhost:serverPort",
      "secure": false
    }
  }

proxy.config.js

const PROXY_CONFIG = [
  {
    context: [
      "/api",
      "/auth",
      "/oauth"
    ],
    target: "http://localhost:8080",
    secure: false
  }
];

module.exports = PROXY_CONFIG;

而更新package.json

"scripts": {

    "ng": "ng",

    "start": "ng serve --proxy-config proxy.conf.json",

    "build": "ng build",

    "test": "ng test",

    "lint": "ng lint",

    "e2e": "ng e2e"

  },

这将允许任何后/api到达服务器



Answer 3:

这是正常,如果你没有一个发生proxy.conf.json在你的应用程序文件,以允许参观流量到一个不同的端口上的服务器。 角有阻止去一个不同的端口,除非你力的交通功能。 如果您有没有一个proxy.conf.json文件,您可以根据需要做到这一点在你的app root



文章来源: Why is this http request failing in angular 4, but goes through with fiddler?