2012-03-12 24 views
6

Bir URL'den bilgi almak ve sayfamda zaman uyumsuz olarak görüntülemek için JQuery kullanıyorum. URL diğer alanlardan geliyor, bu yüzden verileri almak için JSONP kullanıyorum. Bu iyi çalışıyor.URL'ye AJAX + etki alanları arası + jsonp kullanarak erişilebiliyor mu?

Ancak, uzak URL kapalı olduğunda (bir kez olur) sayfam JQuery AJAX 'başarı' veya 'hata' işlevlerini çağırmıyor.

JQuery 1.7 kullanıyorum. "SomePage" yukarı ise

$.ajax({ 
     type : "GET", 
     url : "http://otherdomain.com/somePage.html", 
     data : params, 
     dataType : "jsonp", 
     jsonp : "jsonp", 

     success : function (response, textS, xhr) { 
      alert("ok"); 
     }, 
     error : function (xmlHttpRequest, textStatus, errorThrown) { 
      alert("not ok " + errorThrown); 
     } 
    }); 

, o zaman mesaj "Tamam" bkz: gibi

Kodum görünüyor. "SomePage" e ulaşılamıyorsa, hiçbir şey görmüyorum.

"Hata" işlevini nasıl alabilirim hakkında herhangi bir fikir aranıyor mu? Ya da daha önemlisi, etki alanları arası URL’ye ulaşılıp ulaşılmadığını nasıl tespit edebilirim?

Bu mümkün mü? ** [etki alanları arası XMLHttpRequests için Algılama sunucu/sitesi desteği?] (Http://stackoverflow.com:

sayesinde

+2

Biraz ilişkili olarak eklemek/questions/9433949/detect-server-site-support-için-etki alanı-xmlhttprequests) ** – hippietrail

cevap

10

bir timeout

$.ajax({ 
     type : "GET", 
     url : "http://otherdomain.com/somePage.html", 
     data : params, 
     timeout:3000, 
     dataType : "jsonp", 
     jsonp : "jsonp", 

     success : function (response, textS, xhr) { 
      alert("ok"); 
     }, 
     error : function (xmlHttpRequest, textStatus, errorThrown) { 
      alert("not ok " + errorThrown); 
      if(textStatus==='timeout') 
       alert("request timed out"); 
     } 
    }); 

DEMO

+0

Teşekkürler! Çok basit olduğuna sevindim. – jmend

+1

jsonp nedir: "jsonp" belirtir? – suyash

İlgili konular