2016-03-31 14 views
1

Kısa bir süre önce bir blog başlattım ve el ile kodladım. Bu bir statik, CSS/HTML5 web sitesidir. Arkadaşlarıyla paylaştıktan sonra, FTP ile güncelleyeceğim zaman, zaten tarayıcıları tarafından önbelleğe alınacağını fark ettim. Ben yeni sayfalarında bloguma mesajların hepsi tutmak ve daha sonra bir böyle düğmeye falan girmek tıkladıktan sonra her nasılsa yeni yazı ve orada ileri kullanıcıları belirleyecek bir açılış sayfası oluşturmak karar verdi. Düz metin dosyasını javascript'te URL'den mi isteyin?

Belirli bir bağlantı onları iletmek olabilecek bir düğme oluşturmak başardı, ama her zaman en yeni sayfaya iletecek bir komut dosyası oluşturmak istiyorum. Bu yüzden 'getLatest.json' adında bir dosya oluşturdum ve sitemin bir 'api' alt klasörüne yükledim. O zaman da yüklemek için bir XMLHttpRequest kullanmaya çalıştı:

function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
     if (xhttp.readyState == 4 && xhttp.status == 200) { 
      window.location = "http://latestBlogPost.com" + 
      xhttp.responseText.today; 
      //Today is a parent in the object returned. 
     } 
    }; 
    xhttp.open("POST", "http://myWebsite.com/api/getLatest.json", true); 
    xhttp.send(); 
} 

Ama bu işe yaramadı. Yanıt, boş bir dizeydi. Jquery'yi boşuna kullanmaya çalıştım.

ben düz metin olarak url içeren getLatest.html adlı bir dosya yükleyerek çalıştı. Bu da işe yaramadı.

tl; dr: Bir URL html içeriğinden şifresiz alabilirsiniz bir yolu var mı?

düzenleme: getLatest.json ve getLatest.html yeni blog yazısı bir bağlantı içerir.

+0

Neden gönderiyorsunuz? Yanıt metnini, döndürülmüş olan bir JSON nesnesine dönüştürmeniz gerekir. – epascarello

+0

'xhttp.responseText' zaten bir' GET' isteği kullanırsanız responseText' bir 'today' özelliği yok' çünkü ... Sen, üzerinde '.today' kullanamaz, json dosyası şifresiz içeriyor . Her durumda, önbelleğe alınmayan bir sayfa istiyorsanız, HTTP sunucunuzu, sayfayı önbelleğe almamak için doğru üstbilgi gönderecek şekilde ayarlamanız gerekir. –

+0

URL'den yanıtı xhttp.responsextext değil mi? JSON ile ayrıştırmak zorunda mıyım? – theDoctor5000

cevap

-1

Bunu yapmanın birkaç yolu vardır. İlk önce kodunuz çalışmıyor çünkü "POST" kullanıyorsunuz, "GET" olmalı, eğer işe yarayacaksa.

İkinci en kolay yolu değişken beyan ve referans web dosyada bununla bir java komut dosyası oluşturmaktır

<script type="text/javascript" src="http://your javascript file"> </script> 

Bu dosya kodu kullanılıyor bunda bu

var latestBlog = "http://...."; 

gibi değişken içeriyor değişken. Daha fazla kod gerekli değil. ama daha önce de belirttiğim gibi, kodunuzu almak için HTTP fiilinizi değiştirirseniz

+0

Bu daha iyi bir fikir. Bunu kullanacağım. Teşekkürler! – theDoctor5000

+0

Ayrıca, POST kullanıyordum çünkü önbelleğe alınmamış bir dosyaya ihtiyacım vardı. – theDoctor5000

+0

Önbelleğe alınmayan bir dosya isterseniz, http://website.com/getlatest.json?dt=86767 gibi sorgu dizesi gibi rasgele bir sayı ekleyin – Krishna

İlgili konular