2017-02-25 68 views

回答

2

我這個掙扎了幾天(使用的角度),最後想通了,這是一個CORS問題。瀏覽器實際上發送一個OPTIONS請求,woocommerce-api作爲GET接收。使用this tool有助於排除故障。

最後解決它通過設置我的.htaccess如下;

RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]] 
Header set Access-Control-Allow-Origin "*" 
Header always set Access-Control-Allow-Credentials "true" 
Header always set Access-Control-Max-Age "1000" 
Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding" 
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" 

你可以參考this answer進行了詳細的解釋

+0

爲了澄清(請糾正我,如果我錯了):了'RewriteCond'和'RewriteRule'基本上返回一個HTTP'200'每一個' OPTIONS'請求。瀏覽器(至少在HTTPS環境中)在每個「GET/POST/etc」調用之前發出一個「OPTIONS」調用。如果返回一個'200',則授權執行* actual *調用。 –

+0

@JeffHuijsmans是的,這是正確的:) –

相關問題