Firefox hata 'hiçbir öğe bulunamadı'

3 Cevap php

Öncelikle, bu ancak 1 dosya olarak bir komut dağıtmak için bir ihtiyaç var, bir sayfa kurma tam olarak ideal bir yol değildir.

Ben javascript ile bir başka xhtml belgenin üst kısmında bir php script var ve belirli koşullar altında sayfanın kendisi için bir sorgu dizesi göndermek için xhr kullanın. Üstündeki php sonra aktive ve bir oturum olarak geçti içeriği saklar ve daha sonra (exit ()) kendini öldürür. XHR uyumsuz olduğunu ve içeriğini döndürür olmadığını görmek için kontrol asla.

Ancak Firefox 3, hata konsol bir hata 'bulunamadı elemanı' XHR isteği gönderdi alır her zaman atar. Böyle exit ('Bitti') gibi bir çıkış kullanmak eğer görünür DOM ekler Ayrıca, sanki, Firefox (Bitti) bir sözdizimi hatası atar. Bu opera gerçekleşmesi görünmüyor.

Zaten üretilen xhtml sayfasından bir oturumu depolamak için daha iyi bir yolu var mı? Açıkçası ben başka bir sayfaya xhr olabilir, ama ben bir senaryo üzerinde tüm tutmak için tercih ediyorum. DOM güncelleştirmeleri olarak kendini firefox tedavi XHR isteklerini mu? Bu hatayı gönderiyor neden bilmiyorum.


Dediğim gibi XHR isteği yapıldığında Update, firefox sadece hatayı thows. Sayfası geçerli XHTML ve XHR isteği sayfasında kendisi için yapılır sürece hatasız, mükemmel çalışıyor.

Gerçekten bir şey dönmez çünkü hata gönderme neden ben merak ediyordum.

Here's a javascript snippet that makes a ajax request from an object. It creates a XHR object, without a callback function, and posts the information. It works properly when not referencing the same page.

 var saveState = { saveContent: function(updateActiveMenu) {
	var sendState = new ajaxObject(gV.url);
	if (!updateActiveMenu) {
		var storageContainer = document.getElementById("StorageContainer").innerHTML;
		var menu = document.getElementById("Nav").innerHTML;
		sendState.update("Containerstring="+urlencode(storageContainer)+"&Nav="+urlencode(menu)+"&Active="+gV.activeMenuItem, 'POST', true);	} }, }

Ve php yapar

    if (isset($_REQUEST['Containerstring']) && isset($_REQUEST['Nav']) && isset($_REQUEST['Active'])) {
$_SESSION['Containerarray'] = (saveContainer(regulateEscapes(urldecode($_REQUEST['Containerstring']))));
$_SESSION['Navarray'] = (saveNav(regulateEscapes(urldecode($_REQUEST['Nav']))));
$_SESSION['Active'] = $_REQUEST['Active'];
exit('Done'); }

Ben de innerHTML kullanarak olmamalıdır farkında değilim ama bu başka bir hikaye


The error is this Error: no element found Source File: http://localhost/ajax.php?1244648094055 Line: 1

Hata, php sayfada I istimal ederken, asla denir bir sorgu dizesi başvurduğu dikkat edin.

3 Cevap

Firefox geri XML olarak ayrıştırmak şey almak için bekliyor, ve boş bir yanıt aldığında bir XML ayrıştırma hatası atıyor.

PHP "exit ()", kullanımı çağırmadan önce

header('Content-Type: text/plain');

ve Firefox XML olarak yanıtı ayrıştırmak denemek olmaz ve hiçbir hata olmamalıdır.

Eğer gerçekten TOP dosyanın en PHP kodu varsa o zaman xhtml geçerli olmayabilir ve belki de tüm bahisler kapalı. Eğer çıktı ilk çizgi üzerinde doküman türü var mı? Eğer doğru içerik-türü dönen var mı?

Eğer onunla bir şey yapmak bile Firefox okumak için çalışacağız, çünkü senin php geçerli bir HTTP yanıtı döndürmesi gerekir. Yani en azından geçerli bir başlığı dönmek

header("HTTP/1.0 200");
exit();