预检响应具有无效的 HTTP 状态代码 401 预检选项调用错误
Response for preflight has invalid HTTP status code 401 preflight OPTION call error
我正在使用 Ionic 3 框架项目,每当我尝试通过 POST
方法(如 postAsync
)将数据发送到服务器时遇到一个错误,这与选项调用错误说:
Response for preflight has invalid HTTP status code 401
我不知道如何解决这个错误,因为我已经在我的浏览器中添加了 CORS
扩展,我仍然面临这个错误问题。
是否有任何解决方案可以从浏览器端解决此问题,例如 chrome devtools,因为我可以通过 -mode:OPTIONS
从网络中过滤它,但在控制台我有同样的错误。
如果这不可能,那么如何解决这个错误?
代码:
this.WooCommerce.postAsync('customers', customerData).then( (data) => {...}
更多错误信息:
polyfills.js:3 OPTIONS tusharstar.freesite.host/wc-api/v3/…... 401
(Unauthorized) (anonymous) @ polyfills.js:3 ... (index):1 Failed to
load tusharstar.freesite.host/wc-api/v3/…) Response for preflight has
invalid HTTP status code 401 bluebird.js:1545 Unhandled rejection
TypeError: Failed to fetch
经过大量谷歌搜索后,我的意思是很多,我的第一点的答案是肯定的!这完全是关于网络安全 issue/precaution 的,它让开发人员可以通过 chrome 浏览器获得 error/precaution OPTION 调用点。解决此问题的简单方法(仅用于开发目的)是禁用浏览器的网络安全,重新启动 chrome 并使用新扩展名禁用的网络安全 .exe,一切都会正常进行。 windows 用户的步骤:
1.Closechrome。
2.Open 命令
3.add 此代码:
C:/程序 File/Google/Chrome/Application>chrome.exe --disable-web-security --user-data-dir="D:\chrome"
你可以轻松度过难关!马上关注我
- 在桌面上创建快捷方式
- 右键单击快捷方式,然后单击“属性”
- 编辑目标属性
- 设置为"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --5。禁用网络安全 --user-data-dir="C:/ChromeDevSession"
- 在VIsual Studio代码中,运行ionic serve -l
- 您将看到打开的新标签页 http://localhost:8100/ionic-lab。你应该知道这个 link 是在正常的 chrome 选项卡中打开的,而不是我们设置的 "disable-web-security" chrome。
- 双击我们设置的快捷方式打开 "disable-web-security" chrome 选项卡。然后将 http://localhost:8100/ionic-lab 粘贴到此选项卡中。
因此,我们在使用 woo-commerce-api 时遇到多个错误的原因是 Google "web-security"。然后你只需禁用它,你实际上不需要任何 CORS 扩展。因此,如果您已安装,请立即删除它们。
我为学习本课程的人编写了这个解决方案 https://www.udemy.com/ionic-3-apps-for-woocommerce-build-an-ecommerce-mobile-app/。这是一个离子电子商务应用程序,使用 woo-commerce-api 从 Wordpress(本地或实时服务器)设置和获取数据。如果您在其他非离子语言上遇到问题,它仍然可以正常工作。
实际上,我在 Google 上进行了大量搜索以找到此解决方案。我希望这对你们所有人都有帮助。现在,我需要去睡觉了,因为明天我和我的讲师有关于这个离子项目的最终报告
再见!
曲乐
我遇到了同样的问题,我通过在我的 WordPress 根路径 (C:\xampp\htdocs\wordpress)
的 .htaccess 文件顶部添加几行代码解决了这个问题
将此代码添加到您的 .htaccess 文件的顶部:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $l [R=200,L]
我正在使用 Ionic 3 框架项目,每当我尝试通过 POST
方法(如 postAsync
)将数据发送到服务器时遇到一个错误,这与选项调用错误说:
Response for preflight has invalid HTTP status code 401
我不知道如何解决这个错误,因为我已经在我的浏览器中添加了 CORS
扩展,我仍然面临这个错误问题。
是否有任何解决方案可以从浏览器端解决此问题,例如 chrome devtools,因为我可以通过
-mode:OPTIONS
从网络中过滤它,但在控制台我有同样的错误。如果这不可能,那么如何解决这个错误?
代码:
this.WooCommerce.postAsync('customers', customerData).then( (data) => {...}
更多错误信息:
polyfills.js:3 OPTIONS tusharstar.freesite.host/wc-api/v3/…... 401 (Unauthorized) (anonymous) @ polyfills.js:3 ... (index):1 Failed to load tusharstar.freesite.host/wc-api/v3/…) Response for preflight has invalid HTTP status code 401 bluebird.js:1545 Unhandled rejection TypeError: Failed to fetch
经过大量谷歌搜索后,我的意思是很多,我的第一点的答案是肯定的!这完全是关于网络安全 issue/precaution 的,它让开发人员可以通过 chrome 浏览器获得 error/precaution OPTION 调用点。解决此问题的简单方法(仅用于开发目的)是禁用浏览器的网络安全,重新启动 chrome 并使用新扩展名禁用的网络安全 .exe,一切都会正常进行。 windows 用户的步骤: 1.Closechrome。 2.Open 命令 3.add 此代码: C:/程序 File/Google/Chrome/Application>chrome.exe --disable-web-security --user-data-dir="D:\chrome"
你可以轻松度过难关!马上关注我
- 在桌面上创建快捷方式
- 右键单击快捷方式,然后单击“属性”
- 编辑目标属性
- 设置为"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --5。禁用网络安全 --user-data-dir="C:/ChromeDevSession"
- 在VIsual Studio代码中,运行ionic serve -l
- 您将看到打开的新标签页 http://localhost:8100/ionic-lab。你应该知道这个 link 是在正常的 chrome 选项卡中打开的,而不是我们设置的 "disable-web-security" chrome。
- 双击我们设置的快捷方式打开 "disable-web-security" chrome 选项卡。然后将 http://localhost:8100/ionic-lab 粘贴到此选项卡中。
因此,我们在使用 woo-commerce-api 时遇到多个错误的原因是 Google "web-security"。然后你只需禁用它,你实际上不需要任何 CORS 扩展。因此,如果您已安装,请立即删除它们。
我为学习本课程的人编写了这个解决方案 https://www.udemy.com/ionic-3-apps-for-woocommerce-build-an-ecommerce-mobile-app/。这是一个离子电子商务应用程序,使用 woo-commerce-api 从 Wordpress(本地或实时服务器)设置和获取数据。如果您在其他非离子语言上遇到问题,它仍然可以正常工作。
实际上,我在 Google 上进行了大量搜索以找到此解决方案。我希望这对你们所有人都有帮助。现在,我需要去睡觉了,因为明天我和我的讲师有关于这个离子项目的最终报告
再见! 曲乐
我遇到了同样的问题,我通过在我的 WordPress 根路径 (C:\xampp\htdocs\wordpress)
的 .htaccess 文件顶部添加几行代码解决了这个问题将此代码添加到您的 .htaccess 文件的顶部:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $l [R=200,L]