【问题标题】:Trouble with Angular HttpClient delete statementAngular HttpClient删除语句的问题
【发布时间】:2018-09-25 11:23:32
【问题描述】:

这是我从组件对服务的删除方法的调用。

  constructor(private wos: WorkorderService) {}
  canceled(workOrder) {
    this.wos.deleteWorkOrder(workOrder);
  }

这里是service.ts文件的delete方法

 deleteWorkOrder(workOrder) {
   this.http.delete(this.BASE_URL + '/deleteworkorder/' + 
   workOrder.accountNumber).subscribe((response) => {
    console.log("deleted");
  })
}

这是我在控制台上收到的错误消息:

ERROR Object { headers: {…}, status: 0, statusText: "Unknown Error", url: null, ok: false, name: "HttpErrorResponse", message: "Http 失败响应 (未知 url): 0未知错误”,错误:错误}

API 工作正常,因为我已经尝试过 Postman 的声明。 请指教!

这是我在浏览器的网络部分看到的:

【问题讨论】:

  • 您可能没有在服务器上设置 CORS,因此 Angular 应用程序可能不会向服务器发送 AJAX 请求。用于 CORS 的 Google。
  • @JB Nizet,CORS 已全部设置完毕。 get & post 命令有效,只是删除无效
  • 您查看过浏览器开发工具的网络面板吗? CORS 配置是否授权 DELETE 请求?
  • 是的,您是,但是根据对飞行前 OPTIONS 请求的响应,浏览器拒绝发送它,因为它可能不会发送。 AFAIK,Allow: Delete 标头应该是Access-Control-Allow-Methods: DELETE
  • 某处,在您服务器上的 CORS 配置中,这显然是不正确的。

标签: angular


【解决方案1】:

这个问题让我发疯了很长一段时间。以防万一它可以帮助任何人,我的问题是 .NET Core SDK 的版本:我有 2.2.101 版本,我必须升级到 2.2.104。干杯!

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多