2016-03-23 33 views
3

Bir REST API'sini ortaya çıkaran arka tarafımı kesmeye çalışıyorum. Firefox CORS politikasına göre veritabanımda olabilecek en kötü şey, bir ön kontrol gerektirmediği için POST isteğiyle yeni bir nesne oluşturabilmem. Bu basit kodudur (ı jsfiddle yoluyla koşuyorum, ama bir şey anlamına gelmemelidir)Basit CORS çalışmıyor (çalışmıyor olsa bile)

var xhttp = new XMLHttpRequest(); 
xhttp.open("POST", "http://127.0.0.1:8000/api/v1/company", true); 
xhttp.withCredentials = true; 
xhttp.setRequestHeader('Content-Type', 'text/plain'); 
xhttp.send('{description:"This company was added by pure hacking"}'); 

Ama konsolda şu hata mesajı alıyorum:

Blocked loading mixed active content "http://127.0.0.1:8000/api/v1/company" 
+0

jsFiddle SSL kullanan keman url yerine https http kullanmak

Değişim,. Localhost'a bağlandığınızda, bunun yerine yerel bir web sunucusu kullanmalısınız. – adeneo

+0

Daha iyi bir test, bir kıvrılma talebi kullanmak olacaktır. curl -H "İçerik Tipi: uygulama/json" -X POST -d '{description: "Bu şirket, tamamen kesilerek eklendi"}' http://127.0.0.1:8000/api/v1/company Ayrıca, karşı test Yerel ana makineniz ve dış tarafa bakma çok yararlı olmaz ... –

+0

Ancak "curl" çerezleri tarayıcıya aktaramaz. Her şey hakkında kullanıcının çerezleri (csrf) – Adam

cevap

0

hata SOP nedeniyle değil, bir karma içerik hatası, bir https sayfasında bir http isteği yapıyor.
jsfiddle varsayılan değer olarak https'ye erişir, ancak http’lara izin verir, ancak yalnızca kayıtlı dosyalara izin verir. // `: öyle değil` https içeriği yüklemek anlamına gelir

+0

Tamam şimdi çalışıyor (sayfamda yetkisiz olduğum ve nedenini araştırmam gerek) – Adam

İlgili konular