预检的响应具有无效的HTTP状态代码401预检OPTION调用错误

时间:2017-12-30 13:39:38

标签: woocommerce ionic3 preflight

我正在使用Ionic 3框架项目,并且每当我尝试通过POST方法(作为postAsync)将数据发送到服务器时遇到一个错误,这与OPTION调用有关正如错误所说:

  

预检的响应包含无效的HTTP状态代码401

我不知道如何解决此错误,因为我已将CORS扩展名添加到浏览器中,但我仍然面临此错误问题。

  1. 是否有任何解决方案可以从浏览器端解决此问题,例如chrome devtools,因为我可以通过-mode:OPTIONS从网络过滤它,但在控制台我遇到了同样的错误。

    < / LI>
  2. 如果这不可能,那么如何解决这个错误?

  3. 代码:

    this.WooCommerce.postAsync('customers', customerData).then( (data) => {...}
    

    更多错误讯息:

      

    polyfills.js:3选项tusharstar.freesite.host/wc-api/v3 / ... ... 401   (未经授权)(匿名)@polyfills.js:3 ...(索引):1失败   load tusharstar.freesite.host/wc-api/v3/...)预检的响应有   无效的HTTP状态代码401 bluebird.js:1545未处理的拒绝   TypeError:无法获取

3 个答案:

答案 0 :(得分:1)

经过谷歌搜索后,我的意思非常多,我的第一点的答案是肯定的!这是关于网络安全问题/预防措施,它允许开发人员使用chrome浏览器获取OPTION调用的错误/预防措施。解决问题的简单方法(仅用于开发目的)是禁用浏览器的Web安全性,使用禁用的web安全性.exe的新扩展重新启动chrome,一切都会正常工作。 Windows用户的步骤: 1.关闭铬。 2.打开cmd 3.添加此代码: C:/ Program File / Google / Chrome / Application&gt; chrome.exe --disable-web-security --user-data-dir =&#34; D:\ chrome&#34;

答案 1 :(得分:0)

你可以轻松搞定!我们马上跟着我吧

  1. 在桌面上创建快捷方式 enter image description here
  2. 右键单击快捷方式,然后单击“属性” enter image description here
  3. 编辑目标媒体资源
  4. enter image description here

    1. 将其设置为&#34; C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe&#34; --5。 disable-web-security --user-data-dir =&#34; C:/ ChromeDevSession&#34; enter image description here
    2. 在VIsual Studio Code中,运行ionic serve -l enter image description here
    3. 您将看到新标签打开http://localhost:8100/ionic-lab。您应该知道此链接是在普通的chrome选项卡中打开的,而不是&#34; disable-web-security&#34;我们已经建立了铬。 enter image description here
    4. 双击我们设置的快捷方式以打开&#34; disable-web-security&#34;铬标签。然后将http://localhost:8100/ionic-lab粘贴到此标签中。 enter image description here
    5. 因此,在使用woo-commerce-api时我们遇到多个错误的原因是这个&#34; web-security&#34;由谷歌。然后你只是禁用它,你实际上不需要任何CORS扩展。因此,如果已安装,请立即将其删除。

      我为那些学习这门课程的人写的这个解决方案https://www.udemy.com/ionic-3-apps-for-woocommerce-build-an-ecommerce-mobile-app/。这是一个离子电子商务应用程序,使用woo-commerce-api设置和从Wordpress(本地或实时服务器)获取数据。如果您在使用其他非离子语言时遇到问题,它仍然可以正常工作。

      实际上,我已经在Google上进行了大量搜索,以找到这个解决方案。我希望这能帮助你们所有人。现在,我需要去睡觉,因为明天我和我的讲师有关于这个离子项目的最终报告

      见啊! Quy Le

答案 2 :(得分:0)

I had the same problem and I solved it by adding some lines of code in the top of .htaccess file of my WordPress root path (C:\xampp\htdocs\wordpress)

Add this code in the top of your .htaccess file :

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $l [R=200,L]