Izi: Object Error

Hallo Leute,

Ich habe lange nach einer Lösung für mein Problem gesucht, dass JS nicht in JS funktioniert!

Ich habe etliches probiert, dann habe ich in einem Forum das gefunden:

/* Damit in den geladenen Divs javascript funktioniert  */  
  
function evalScript(loadjs)  
{	try  
	{	if(loadjs != '')	  
		{	var script = "";  
			loadjs = loadjs.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){  
	       	                         if (loadjs !== null) script += arguments[1] + '\n';  
 	        	                        return '';});  
			if(script) (window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);  
		}  
		return false;  
	}  
	catch(e)  
	{	alert(e)  
	}  
}

Dieses script soll erlauben wie ich es als Kommentar gefasst habe, dass javascript in der folgenden Funktion funktioniert:

function ajax(to,url,request,params) {  
  
 var xmlhttp;  
 request = "request=" + request;  
  
 if(typeof(params) == "undefined")  
  {  
   params = request;  
  }  
   else  
    {  
     params = request + "&" + params;  
    }  
  
 if(window.XMLHttpRequest)  
  {  
   // Code für IE7+, Firefox, Chrome, Opera, Safari  
   xmlhttp=new XMLHttpRequest();  
  }  
   else if(window.ActiveXObject)  
    {  
     // Code für IE6, IE5  
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  
    }  
     else  
      {  
       alert("Sorry, but your browser does not support XMLHTTP! Please update your browser now.");  
      }  
  
 xmlhttp.onreadystatechange=function() {  
  
  if(xmlhttp.readyState == 4 && xmlhttp.status == 200)  
   {  
    var divinhalt = request.responseText;  
    document.getElementById(to).innerHTML = divinhalt;  
    evalScript(divinhalt);  
   }  
 }  
  
 xmlhttp.open('GET',url+"?"+params, true);  
 xmlhttp.send(null);  
  
}

Allerdings bekomme ich immerwieder einen Fehler mit object error ...
Ich suche schon seid 5 Tagen nach einer Lösung, habe etliches gefunden aber nie etwas das zu meinem Problem wirklich passt........

Könnte mir bitte jemand helfen und es so umschreiben, dass es funktioniert?
Ich wäre da sehr dankbar!!!!!

Gruß,
Izi

  1. Allerdings bekomme ich immerwieder einen Fehler mit object error ...

    Aha interessant. Geht es auch ein informativer?

    Struppi.

    1. Allerdings bekomme ich immerwieder einen Fehler mit object error ...

      Aha interessant. Geht es auch ein informativer?

      Struppi.

      Da kommt nicht mehr als ein Alert mit einem [Object Error] - Informativer kann ich es leider nicht ausdrücken. Ich könnte noch das Alert mit Farben beschreiben, aber ich denke nicht dass das jemand hören möchte.

      Entschuldigung, aber ich habe alles gegeben was ich habe!

      Gruß,
      Izi

      1. Hi,

        Da kommt nicht mehr als ein Alert mit einem [Object Error]

        Das kann ja vermutlich nur aus dem catch-Teil kommen.

        • Informativer kann ich es leider nicht ausdrücken.

        Doch - du könntest dir bspw. die einzelnen Eigenschaften dieses Error-Objektes mal anschauen.

        https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Exception_Handling_Statements/try...catch_Statement#Utilizing_Error_objects

        Entschuldigung, aber ich habe alles gegeben was ich habe!

        Das reicht bei mittelmäßigen Sportlern auch nicht für die Goldmedaille - da hilft nur Training, bzw. in diesem Falle, sinnvolles Debugging erlernen.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
      2. Struppi.

        Bitte kein Fullquote, zitiere nur das worauf du antwortest, Danke.

        Da kommt nicht mehr als ein Alert mit einem [Object Error] - Informativer kann ich es leider nicht ausdrücken.

        In dem Fall wäre es informativer, wenn du auf den try-catch Block verzichtest und den Browser die komplette Fehlermeldung ausgeben läßt. Oder den Vorschlag von Chris umsetzen. In dem Error Objekt stecken noch mehr informationen.

        Struppi.

        1. In dem Fall wäre es informativer, wenn du auf den try-catch Block verzichtest und den Browser die komplette Fehlermeldung ausgeben läßt. Oder den Vorschlag von Chris umsetzen. In dem Error Objekt stecken noch mehr informationen.

          Er sagt zusätzlich jetzt:

          1.) TypeError
          2:) undefined ist NULL oder kein Objekt.

          Das hilft mir aber auch nicht, weil ich kein Pro bin. Daher sagt mir hier das nichts und ich bin somit auch nicht weiter. :/

          1. Hallo,

            Er sagt zusätzlich jetzt:

            _Wer_ sagt das? Der Fehlerkonsole? Der IE? Der FireFox? oder wer?

            1.) TypeError
            2:) undefined ist NULL oder kein Objekt.

            1. Bedeutet, dass "er" [der Computer oder so] irgendwo mit einen Objekt arbeiten will, dass aber nicht definiert ist (Typ 'undefined'), und daher 1) der erwartete Datentyp ('object') nicht stimmt.

            Was hat "er" denn genau in der Variablen loadjs stehen?
            Die enthält nämlich das Script, das  ausgeführt wird und den Fehler auslöst.
            Weiß "er" vielleicht noch eine Zeilenummer dazu? Der FF weiß sowas normalerweise.
            Dann könntest du das Script untersuchen und so der Fehler lokalisieren.
            Von weitem kann man das leider nicht.

            Gruß, Don P

          2. Hi,

            2:) undefined ist NULL oder kein Objekt.

            Wenn sich das auf loadjs, dann greift in dem Fall deine Abfrage
            if (loadjs !== null)
            ins leere, weil undefined nun mal nicht identisch mit null ist.

            Wofür die Abfrage an der Stelle überhaupt gut sein soll, ist mir allerdings noch nicht klar. Du hast sie in der Funktion stehen, die beim Bearbeiten der Treffer, die der Aufruf von replace auf loadjs liefert, aufgerufen werden soll. Wenn loadjs aber null ist, dann ergibt es gar keinen Sinn, überhaupt replace darauf ausführen zu wollen.

            Das hilft mir aber auch nicht, weil ich kein Pro bin. Daher sagt mir hier das nichts und ich bin somit auch nicht weiter. :/

            Es ist keine gute Idee, irgendwo „gefundene“ Scripte einzusetzen, wenn man sie nicht verstehen kann - selbst wenn sie „funktionieren“, aber wenn dann auch noch Fehler darin zu beseitigen sind, noch weniger.

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. h1,

    Könnte mir bitte jemand helfen und es so umschreiben, dass es funktioniert?

    Nur mal so nebenbei. Du erstellst ein Objekt mit dem Namen "xmlhttp" und hängst da Eigenschaften und Methoden dran. Das ist schonmal ne gute Idee, nur:

    Im IE, wenn das ein ActiveXObject geworden ist, da funktioniert das leider nicht. Mit anderen Browsern

    xmlhttp = new XMLHttpRequest();

    kannst Du sowas machen, z.B. xmlhttp.farbe = 'daubenblau';

    Viele Grüße,
    Horst Haselhuhn

    --