是否可以使用javascript

问题描述

当我们将非simple request发送到另一个域时,preflight request被浏览器首先发送。是否有可能以某种方式读取javascript中预检请求响应的正文或标头?

例如:

fetch('example.com',{ method: "DELETE" }).then(handler)

将触发预检请求,如果成功,则“处理程序”功能将能够读取主要请求的响应。但是,有什么方法可以访问预检请求的响应?

解决方法

浏览fetch specification后,我对请求访问的理解是,如果发生错误,则将返回预检请求,否则,将返回主请求(是否有错误),预检将继续进行无法进入。 但是,我无法对此进行测试,并且对于理解该函数的行为而言,规范不是最清晰的。

修改:
我用https://test-cors.org做了一些测试,发现我错了。每当CORS请求失败时,您只能获得错误对象。如果请求成功,您将得到的是最终响应。自动预检请求对JS是完全隐藏的,因此@Titus在评论中说,获取预检响应的唯一方法是手动配置并发送OPTIONS请求。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...