2016-02-19 66 views
1

我可以使用curl發送不安全的請求:我該如何讓jQuery發送不安全的AJAX請求?

[email protected] ~/Dropbox/rbs/ro_sinatra $ curl https://localhost:23314?q=a -k 
{"word":"a","us_phonetic":"美 [eɪ] ","us_phonetic_voice":null,"en_phonetic":"英 [eɪ] ","en_phonetic_voice":null,"na.":"一","n.":"英文字母表的第一字母;【樂】A音","art.":"冠以不定冠詞主要表示類別","網絡":"從;按;一個"} 

當我試圖發送使用jQuery的AJAX請求我碰到下面的錯誤在谷歌Chrome開發者工具控制檯相同的請求:

GET https://localhost:23314/?q=a net::ERR_INSECURE_RESPONSE 

我如何使這個不安全的請求在Chrome中工作,並且可能在其他瀏覽器中引發此錯誤?

+0

在服務器上啓用CORS –

+0

@ExplosionPills我仍然得到'網:: ERR_INSECURE_RESPONSE'即使我設置'訪問控制允許來源:*'在服務器響應 – hucmarcot

+0

這個問題有一些嚴重的語法問題,所以我重寫了它以確保回答這個問題的任何人都能夠適當地幫助你。 –

回答

1

您正在請求帶有安全http https://localhost:23314?q=a的URL,並且您收到此錯誤消息,因爲瀏覽器正在考慮您的SSL證書是自簽名的,並且Chrome瀏覽器默認情況下會阻止此類資源,因爲它不安全。

你需要或者使用Apache2 SSL on Windows您的服務器上正確配置SSL,讓你得到一個有效的證書爲您的本地主機,或簡單地請求你的頁面超過標準的HTTP。

+0

對不起,我使用的是linux,而服務器不是apache,它只是ruby測試服務器,我可以使所有的一切工作與更改服務器響應頭? – hucmarcot

+0

我不認爲改變響應頭會產生什麼影響,這是對HTTPS ...你確定你有正確的SSL服務器本地主機上配置了鍍鉻的行爲嗎?此外,你真的需要在本地主機上使用https,爲什麼你不能只調用相同的鏈接http? – KAD

+0

如果我在Chrome內容腳本中使用ajax,如果我在https://google.com中,http請求將被阻止,它只允許使用https請求 – hucmarcot