Sadece bir XMLHTTPRequest JavaScript kullanarak bir HTTP Head isteği yapmak mümkün mü?HTTP HEAD isteği Javascript/Ajax'ta mı?
Motivasyonum bant genişliğini korumaktır.
Aksi takdirde, sahte hale getirmek mümkün mü?
Sadece bir XMLHTTPRequest JavaScript kullanarak bir HTTP Head isteği yapmak mümkün mü?HTTP HEAD isteği Javascript/Ajax'ta mı?
Motivasyonum bant genişliğini korumaktır.
Aksi takdirde, sahte hale getirmek mümkün mü?
Kolay, sadece yerine GET veya POST, KAFA yöntemi kullanın:
function UrlExists(url, callback)
{
var http = new XMLHttpRequest();
http.open('HEAD', url);
http.onreadystatechange = function() {
if (this.readyState == this.DONE) {
callback(this.status != 404);
}
};
http.send();
}
Bu BAŞ yönteminin nasıl kullanılacağını göstermek için sadece kısa bir örnektir. Üretim kodu, farklı sonuç durumları (başarı, başarısızlık, zaman aşımı) için daha iyi tanımlanmış geri aramalara ihtiyaç duyabilir ve farklı event handlers (onload
, onerror
ve onreadystatechange
yerine ontimeout
) kullanabilir.
Teşekkürler, bazen bir çerçeve soyutlama temel işlevselliği gizler! – EoghanM
Bu çapraz tarayıcı nasıl bir fikir? JQuery belgelerinde "Not: PUT ve DELETE gibi diğer HTTP istek yöntemleri de kullanılabilir, ancak tüm tarayıcılar tarafından desteklenmez." http://api.jquery.com/jQuery.ajax/ –
IE6'da çalışmıyor (IE7,8 hakkında emin değilim ..) –
Bir XMLHTTPRequest nesne
getAllResponseHeaders();
getResponseHeader("header-name")
Evet,
üzerinde tanımlanmış olmalıdır [Bunu kontrol ...] (http://stackoverflow.com/questions/165779/are-the-put- silme-kafa-etc-yöntemleri-mevcut-en-web tarayıcıları) – coder