Angular 2 HTTP POST 执行 OPTIONS 调用

2024-01-12

我的 Angular 2 应用程序遇到了一个非常奇怪的问题。我实际上想对我的 Play Scala API 进行包含 JSON 的 POST 调用,但它一直想尝试进行 OPTIONS 调用。

这是我的代码:

登录服务

constructor (private _apiEndpoint: ApiEndpoint) {}

postLogin(login: string, credential: string): Observable<AuthToken> {
    let headers = new Headers({ "Content-Type": "application/json" })
    let jsonLogin = {"login": login, "password": credential}

    return this._apiEndpoint.postLogin(JSON.stringify(jsonLogin), headers)
                    .map(this._apiEndpoint.extractData)
}

API端点

constructor (private _http: Http) {}

postLogin(body: string, options: any) {
    return this._http.post("http://localhost:9000/login", body, {
        headers: options
    })
}

然后,当我尝试拨打电话时(我尝试通过 console.log 检查 JSON 并且它是正确的),并且无论出于何种原因,该电话都会尝试进行 OPTIONS 调用:

有人有想法吗?谢谢 !


您正在发出跨域请求。

请求是localhost:9000是由localhost:9002.

浏览器使用 OPTIONS 动词创建一个飞行前请求,以便知道他是否可以继续并发出“真正的”请求。

了解有关 CORS 的更多信息here https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2 HTTP POST 执行 OPTIONS 调用 的相关文章

随机推荐

  • 自定义配置文件不适用于表单验证

    我已经在 application config validation rules php 中设置了验证规则 它看起来像这样 简洁版本 config array member register gt array field gt langua
  • AOSP x86_64 模拟器在 Android Studio 中不可见

    我正在使用 AOSP 模拟器来测试我的代码 我在我的电脑上下载了AOSP的android10 release源代码 然后使用以下命令 source build envsetup sh set stuff for environment lu
  • 构建多模块 Mercury 程序

    问 构建双模块汞计划的简单模板是什么 Module 1 定义并导出一个简单的函数或谓词 Module 2 导入函数 谓词来计算有用的结果并输出结果 我将使用以下方法 首先使用以下方法定义模块 您要导出的函数或谓词或谓词 接口部分 File
  • ECMAScript 6 类析构函数

    我知道 ECMAScript 6 有构造函数 但是 ECMAScript 6 是否有析构函数之类的东西 例如 如果我在构造函数中将对象的某些方法注册为事件侦听器 我想在删除对象时删除它们 一种解决方案是制定一个约定 创建一个destruct
  • 如何将 char 数组转换为 int? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 所以输入文件如下所示 Adam Zeller 45231 78 86 91 64 90 76 Barbara Young 274253 88
  • 在正则表达式中指定 Unicode 字符

    如何创建包含 unicode 字符的 ruby 正则表达式 例如 我想在正则表达式中使用字符 u0002 你可以写 x02 u0002 x02 gt 0 如果您不确定 您可以从字符串开始 Regexp new u0002 gt x02 这是
  • 在 R 中安全地创建 S3 泛型

    Henrik Bengtsson 为互联网提供了一种很好的方式在 R 中创建 S3 泛型 http www1 maths lth se help R setGenericS3 不必担心它们是否已经在 2002 年之前创建过 他的函数 set
  • 指针类型静态字段的值被调试器显示为零 0x0,而实际上它具有有效值

    我在尝试使用类型访问结构体静态字段的值时遇到了这种行为uint 调试时 监视窗口显示静态字段StaticBitMask的值为零 但实际上 并且如预期的那样 它是一个有效的指针 并且Console WriteLine 打印它 如下面的控制台输
  • 控制配置设置 Apache Spark UTF 编码以写入为 saveAsTextFile

    那么如何告诉spark在使用时使用哪种UTFsaveAsTextFile path 当然 如果知道所有字符串都是 UTF 8 那么它将节省 2 倍的磁盘空间 假设像java一样默认UTF是16 saveAsTextFile实际上使用Text
  • MSVC:为什么“extern void x;”是“非法使用类型'void'”吗?

    为什么这段代码 extern void x 导致 cl t555 c std c11 Za t555 c 1 error C2182 x illegal use of type void 这里什么是非法的 UPD 使用案例 cat t555
  • IOS - 如何重新签名 ipa 文件?

    我尝试重新签署 ipa 文件 但遇到一些问题 我存档了该项目并将其导出以进行临时部署 然后按照本教程进行操作 https sholtz9421 wordpress com 2012 06 08 digitally resigning ipa
  • 未检测到 VS 代码 venv (WSL)

    我最近切换到 WSL Ubuntu 现在 当我使用创建虚拟环境时 python m venv venv VS Code 中不会自动检测到它 我的设置 json python pythonPath C Users ankus AppData
  • iOS 设置屏幕用户界面

    我正在尝试在我的应用程序中创建一个设置屏幕 就像 iPhone 内部存在的设置一样 单击设置时 我们会看到带有圆形边缘的不同部分 全是白色 一些选项带有箭头 一些是开 关按钮 苹果是如何实现这一目标的呢 是不是一个UITableView 有
  • 在 Laravel 中将数组转换为集合

    我在 PHP 中有以下数组 website example url example com website example url example com 现在我想将其转换为集合 因此我按键排序website or url 但是当我这样做时
  • 使用 TensorFlow 进行多标签文本分类

    文本数据被组织为具有 20 000 个元素的向量 例如 2 1 0 0 5 0 第 i 个元素表示文本中第 i 个单词的频率 真实标签数据也表示为具有 4 000 个元素的向量 例如 0 0 1 0 1 0 第 i 个元素指示第 i 个标签
  • SQL 全外连接

    我正在尝试编写一个连接语句将以下三个数据集连接在一起 这是使用 MS SQL Server Set 1 ID Date Col1 1 Jan 11 a1 1 Jan 13 a2 Set 2 ID Date Col2 1 Jan 11 b1
  • 如何使 div 的高度固定,但如果内容大于高度,则 div 会增长?

    假设我有一个我设置的 divheight 500px 在CSS中 因此它的高度是固定的 我的页面内容是用 JavaScript 自动生成的 因此有时它会大于 500px 并且会溢出 div 边框 我的问题是 是否可以有固定的大小 例如 50
  • 如何使用自定义密钥编写 MifareClassic

    我需要找到一个解决方案来使用自定义密钥编写 Mifare Classic 1 K 标签 我无法编写它 我已经尝试了每个选项 但不幸的是我总是收到错误 IOException 收发失败 下面是我的代码片段 byte custom key by
  • jQuery:如何从加载回调中修改加载的内容

    我正在动态创建许多 div 元素 行 每行都将具有相同的基本格式 仅文本发生变化 由于行结构很复杂 我尝试从静态 html 文件加载 基本 div 然后加载后 使用每行的参数调整一些属性 类似于 Android 的 xml 定义的适配器 我
  • Angular 2 HTTP POST 执行 OPTIONS 调用

    我的 Angular 2 应用程序遇到了一个非常奇怪的问题 我实际上想对我的 Play Scala API 进行包含 JSON 的 POST 调用 但它一直想尝试进行 OPTIONS 调用 这是我的代码 登录服务 constructor p