Bir dış etki alanı için jQuery AJAX nasıl kullanılır?

5 Cevap php

Ben de bir. Olsun () kullanarak basit bir jQuery AJAX girişimi veya. Yazı () gerçekleştirmek için çalışıyorum.

Benim sunucuda yerel bir kopyasını ve eğer:

$.get('/hash.php',...,...)

Ben olsun yapıldığını kundakçı benim konsolda izlemek ve bir yanıt almak.

Ben değiştirmek bütün bir dış sunucuya URI ve hiçbir şey olmuyor.

$.get('https://secure.mysite.com/subdir/hash.php',...,...)

Ben bunun yerine yazı kullanırsanız ben kapalı 's' almak veya eğer yardımcı olmuyor. Ben jQuery kullanmanız gereken bazı parametre eksik?

EDIT: Ben sonunda bir PHP5 siteye bir PHP4 siteden göç ediyorum çünkü ben yapıyorum nedenini söylemeyi unutmuşum, ama şimdi için canlı PHP4 sitesi PHP4'te bir işlev ihtiyacı var. Yani bunu yapmak için bir PHP5 sunucu arıyorum. Ben iyi bir çözüm olduğunu düşünüyorum. Teşekkürler!

5 Cevap

Eğer başvuru dağıtılmış olduğu diğerinden daha başka bir etki bir Ajax isteği gönderemezsiniz. Bir güvenlik önlemi - bu, çünkü Same Origin Policy web browers uygulanan taşımaktadır.

İki olası çözüm olsa da, vardır:

Bu normalde nedeniyle tarayıcılar için etki dışında Ajax yapamaz doğrudur. Ancak bunu yapmak mümkün JSONP kullanarak. jQuery da artık Ajax için bir jsonp param var. Bu işi yapmak için olsa sunucunun çıkışını kontrol etmek gerekir.

Javascript javascript dosya geldi nereye dışında bir sunucu erişemiyor.

Bu bir güvenlik özelliğidir.

Eğer bu çevrede alabilirsiniz almak istiyorum nasıl tarayıcı özgü bağlı, ama kaygan bir eğim biraz olur.

Doğrudan etki alanı ajax isteklerini yapamaz, bu bir güvenlik sorunu olurdu.

Sen jquery yerel php dosya arama ve diğer etki php dosya konuşmak gerekir.

Bu aşmak için kullanılan JSONP denilen bir yöntem var. SO #570100 üzerine 2 cevap görmek