SORU
20 Mayıs 2010, PERŞEMBE


Neden bir WordPress kullanmak'ler .() ajax oturum kurabiyemi gönderme yöntemi değil mi?

Sonra giriş üzerinden $.ajax() bir site, benim yapmaya çalıştığım göndermek için bir saniye $.ajax() istemek için bu siteye ama ne zaman onay başlıklarını gönderdi kullanarak Kundakçı, yok oturum tanımlama dahil olma isteği.

Neyi yanlış yapıyorum?

CEVAP
25 AĞUSTOS 2011, PERŞEMBE


Etki alanları arası senaryoda işletim ediyorum. Giriş sırasında uzak sunucu Çerez Başlığı Allow-Access-Control-Credentials set ile birlikte doğru dönüyor.

Uzak sunucu bir ajax çağrısı bu cookie kullanmanız gerekir.

KÖŞELERİ Access-Control-Allow-Credentials çapraz etki alanı oturum açma izin vermek için vardır. Örnekler için kontrol edin https://developer.mozilla.org/En/HTTP_access_control.

Benim için bir WordPress kullanmak bir hata (ya da en azından bir sonraki sürümde özellik olacak gibi görünüyor.

GÜNCELLEME:

  1. Çerezleri otomatik olarak AJAX yanıt (alıntı: http://aleembawany.com/2006/11/14/anatomy-of-a-well-designed-ajax-login-experience/) ayarlanmamış

    Neden?

  2. Bunu el ile ayarlamak için yanıt (http://www.w3.org/TR/XMLHttpRequest/#dom-xmlhttprequest-getresponseheader) çerez değerini almak

    .. Kafam karıştı

    jquery.ajax() XMLHttpRequest.withCredentials = "true" parametre ayarlamak için sormak için bir yol var.

CEVAP: http://api.jquery.com/jQuery.ajax/ xhrFields param kullanmalısınız

Belgelerinde örnek:

$.ajax({
   url: a_cross_domain_url,
   xhrFields: {
      withCredentials: true
   }
});

Doğru sunucu bu isteğe cevap çok önemli. Kopyalama burada harika bir yorum @@Pebbl: Frédéric

Important note: when responding to a credentialed request, server must specify a domain, and cannot use wild carding. The above example would fail if the header was wildcarded as: Access-Control-Allow-Origin: *

İstek olduğunda:

Origin: http://foo.example
Cookie: pageAccess=2

Sunucu ile karşılık vermelidir:

Access-Control-Allow-Origin: http://foo.example
Access-Control-Allow-Credentials: true

[payload]

Aksi takdirde yük komut dosyası iade edilmeyecektir. Bakın: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Requests_with_credentials

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013