XMLHttpRequest cannot jQuery ile bir URL yüklemek
Bir "" web sitesi.uzaktan bazı json veri almak için çalışıyorum Bu 99000 web hizmetine bağlantı noktası sonra, 99001 port (http://localhost:99001/index.html) benim web sitesi başlatmak işletiyorum.
Aşağıdaki mesajı alıyorum:
XMLHttpRequest cannot load http://localhost:99000/Services.svc/ReturnPersons. Origin http://localhost:99001 is not allowed by Access-Control-Allow-Origin.
Eğer ben bir HTML olarak web sayfamı tanıtım dosyasını bile, ben bu olsun:
XMLHttpRequest cannot load http://localhost:99000/Services.svc/ReturnPersons.Origin null is not allowed by Access-Control-Allow-Origin.
Web hizmeti veri döndürür. Bu gibi verileri yakalamak için deneyin:
var url = "http://localhost:99000/Services.svc/ReturnPersons";
$.getJSON(url, function (data) {
success: readData(data)
});
function readData(data) {
alert(data[0].FirstName);
}
Ve bu yapı almaya çalışıyorum:
[{"FirstName":"Foo","LastName":"Bar"},{"Hello":"Foo","LastName":"World"}]
Bu hatayı alıyorum neden biliyor musun?
CEVAP
XMLHttpRequest bir crossdomain, sadece "seçenek" bu aşağı gelir hangi bir teknik JSONP denilen olurdu: yapamazsın
İsteği başlatmak için: uzaktan url ile <script>
yeni bir etiket Eklemek, ve sonra bir uzak url geri arama işlevi çağıran geçerli bir javascript dosyası verir emin olun. Bazı hizmetler, bu (ve senin geri adım parametreleri ALALIM) desteği.
Bir "" uzaktan isteği ve sadece "geri javascript." iletir alır yerel sunucu, proxy oluşturmak olacaktır diğer kolay yolu
/ayrıca edit:
JQuery yerleşik JSONP desteği, eğer URL içeriyorsa kontrol ederek görüyorum "=? geri" (burada bir WordPress kullanmak yerini alacak mı ? gerçek bir geri arama yöntemi). Ama hala geçerli bir yanıt oluşturmak için uzak sunucuda bu işlem için ihtiyacınız olacak.
JQuery resim belge çalıştırmadan önce ...
Google Chrome XMLHttpRequest yerel bir...
jQuery bağlantısını devre dışı bırakın...
İPad kullanıcıları jQuery kullanarak t...
jquery: stopPropagation vs stopİmmedia...