2013-03-25 21 views
20

Bu kodu var: Ben fiddler bunu görünce bunu görmek yerine POST fiilini göndermek yerine,HttpRequest neden POST yerine OPTIONS fiilini gönderiyor?

var req = new HttpRequest(); 
req.open("POST", "http://localhost:8031/rest/user/insert"); 
req.setRequestHeader("Content-type", "application/json"); 
req.send(json.stringify(user_map)); 

Ama: Gördüğünüz gibi

OPTIONS http://localhost:8031/rest/user/insert HTTP/1.1 
Host: localhost:8031 
Connection: keep-alive 
Access-Control-Request-Method: POST 
Origin: http://127.0.0.1:3030 
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.33 (KHTML, like Gecko) Chrome/27.0.1430.0 (Dart) Safari/537.33 
Access-Control-Request-Headers: origin, content-type 
Accept: */* 
Referer: http://127.0.0.1:3030/E:/grole/dart/Clases/Clases/web/out/clases.html 
Accept-Encoding: gzip,deflate,sdch 
Accept-Language: es-ES,es;q=0.8 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 

, bu SEÇENEKLER'e kullanıyor POST yerine fiil mi?

Neler oluyor?

+0

OPTION fiil, etki alanı isteğini göndermek için Sunucu ile kontrol için ön kontrol isteğini göndermek için kullanılır. Kökeni -> 127.0.0.1:8031 ve ana bilgisayar -> localhos: 3t – kiran

cevap

33

OPTIONS fiil, bazı tarayıcılar tarafından çapraz kaynaklı isteklerin geçerliliğini kontrol etmek için gönderilen bir ön kontrol isteğidir. Sunucuda, Origin (istekte bulunan) belirli bir kaynak için istekte bulunulmasına izin verildiğini kontrol eder. Ayrıca, hangi başlıkların sunucu tarafından geri gönderildiğine bağlı olarak, tarayıcının hangi başlıklar, yöntemler ve kaynakların menşeinin sunucudan talep edilmesine izin verildiğini bilmesini sağlar.

Tarayıcı, OPTIONS isteğini gönderir, ardından sunucu, kökenin isteği yapmasına izin veren doğru üstbilgilerle (CORS üstbilgileri) yanıt verirse, POST isteğinizin daha sonra geçtiğini görmeniz gerekir.

CORS başlıklarının hem OPTIONS yanıtında hem de POST yanıtında döndürülmesi gerektiğini unutmayın. Bu, sunucunuzun etki alanları üzerinden erişmek istediğiniz yollardaki seçenekler yöntemine yanıt verebilmesi gerektiği anlamına gelir.

Bu, Çapraz Kaynak Kaynak Paylaşımı olarak bilinir. Mozilla'nın konuyla ilgili oldukça güzel belgeleri var.

Daha fazla sorunuz varsa bana bildirin ve cevaplayacağım.

İlgili konular