domain.com
numaralı bir sayfam var, bu da bir JSONP ajax isteğini (jQuery'nin .getJSON()
işlevini kullanarak) anotherdomain.com
adresindeki bir URL'ye gönderir. anotherdomain.com
'daki kaynağın o etki alanında ayarlanmış herhangi bir tanımlama bilgisine sunucu tarafı erişimi olacağını (okundu: kabul ettim) düşündüm, ancak durum böyle görünmüyor mu?JSONP üzerinden Çerez Erişimi
ajax çağrısı belirli bir cookie'ye erişmek, bazı veri manipülasyonları yapmak ve cookie değeri tarafından girilen zengin bir bilgi kümesine dönmek için özel olarak yapılmaktadır. Orijinal alanın çerez değerine doğrudan erişimi yoktur, bu yüzden bir ajax isteğinin ihtiyacım olan durumu koruyacağını düşündüm.
Çerezler hakkında hangi önemli bilgilere bakıyorsunuz? Yorgunum ve göremiyorum.
Teşekkürler.
GÜNCELLEME
Bunu yapmanın bir yolunu buldu, ancak bu benim göz JSONP benzer, bu nedenle Ajax versiyonu değil iken bu şekilde çalışır neden merak ediyorum. İstek, tarayıcı oturumundan kesildi mi, böylece hiçbir çerez erişilemez mi? tüm ajax istekleri
<script type="application/x-javascript" src="<?php echo $service_url . '&callback=interests' ?>"></script>
<script type="text/javascript">
function interests(data) {
$(function() {
var c_behaviors = data.length;
var ids = [];
for(var i = 0; i < c_behaviors; i++) {
ids.push(data[i].behavior_id);
}
$('body').append('<p><label>Returned:</label> ' + ids.join(', ') + '</p>');
});
}
</script>
Bunu üçe katlamış olabileceğinize eminim, ancak tanımlama bilgisinin başka bir etki alanı.com tarafından ayarlandığından ne kadar eminsiniz? Üstelik, son kullanma tarihi, yol vb. Gibi çerezin durumu nedir? –
Evet. Ajax çağrısından önce hedef URL'yi uyarırsam ve ardından hedef URL'yi yeni bir sekmede yüklerseniz, tam olarak ne elde etmeyi beklediğimi alırım. Ajax çağrısının, tarayıcı oturumundan düşündüğümden daha fazla bağlantısı kesilmiş gibi görünüyor. –
$ .ajax aramasını "json" yazarak deneyin ve ne tür sonuçlar aldığınızı görün. BTW, JSONP yaklaşımınız http://stackoverflow.com/questions/1421245/make-getjson-in-jquery-to-pass-cookies-to-external-domain adresinde belgelendi ve başka biri için de çalışıyordu –