king_and1 Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 (bearbeitet) Hallo liebe Leudde , ich hätt da mal ne frage an so einem schönen Morgen ..... Ich habe ein projekt , wo eine Website erstellt wurde unter anderem mit Java und die auch mehrere Ajax Funktionen aufruft. Das ganze kommuniziert mit php´s auf nem Server mit einem weiteren Webdienst welcher mir dan die gewünschten Infos übermittelt. So erstmal das ihr in etwas wisst was ich da treibe. Nun zum eigentlichen. Also die Sache ist die: Ich habe einen Code (js) , 2 PHP´s und 2 Server. Lasse ich nun die Seite auf dem Testserver laufen, funktioniert alles einwandfrei. Alles so wie ich es wollte und wie es sein sollte. Probier ich das nun , mit exakt dem selben Code( natürlich sind URL´s , ElementID´s und weiteres angepasst) und den selben PHP´s auf dem Liveserver , schmiert es mir schon nach dem ersten AJAX request ab..... Bin das ganze schon mit meinem Ausbilder durchgegangen, alle codes ud scripts sind passend geschrieben, und funktionieren wie schon erwähnt auf dem Testserver ohne Probleme. Mich würde das jetzt einfach mal rein aus Neugier interessieren , wie sowas zustande kommen kann ? Ich meine ein passender Vergleich wäre: Ich fahre beim Autohändler 2 Fahrzeuge vom selben Modell , selbes Baujahr , selbe Fabrik also sprich zu 1000% identisch und alles läuft einwandfrei. Nach dem Kauf funktioniert aber nur einer von den beiden, ohne irgendwelche Schäden, Veränderungen etc. pepe... Sehr strange Sache würd ich mal sagen :cool: Freue mich schon auf euere Gedankenergüsse..... :beagolisc <script> function myCall() { serialno= document.getElementById('answer872443X31X168').value; var Url = "http://212.77.190.105/lime/SerialNo.php?serial="+serialno; var request = $.ajax({ url: Url, type: "GET", dataType: "xml", success: onSerialNoCheckComplete, }); function onSerialNoCheckComplete(xml) { $(xml).find('ArrayOfDetails').each(function(){ window.model = $(this).find('ModelNumber').text(); window.serial = $(this).find('SerialNumber').text(); if (model) { $("#question282 input.radio:last").click(); } else { $("#question282 input.radio:first").click(); javascript_abort(); } function javascript_abort() { throw new Error('This is not an error. This is just to abort javascript'); } }); Product(); }; function Product() { var serialnum= serial; var modelno= model; var Url2 = "http://212.77.190.105/lime/Product.php?serial="+serialnum+"&model="+modelno; var request = $.ajax({ url: Url2, type: "GET", dataType: "xml", success: SerialNoCheckComplete, }); function SerialNoCheckComplete(xml) { $(xml).find('ProductDetails').each(function(){ var productname = $(this).find('ProductName').text(); var name = $(this).find('ProductCategory').text(); var Warrdate = $(this).find('StdWarrEndDate').text(); var Servicedate = $(this).find('ServiceEndDate').text(); var Datum = new Date(); var Tag = Datum.getDate(); var Monat = Datum.getMonth() + 1; var Jahr = Datum.getFullYear(); var Full = Jahr +"-"+ Monat +"."+ Tag; $("#question204 input.radio:first").click(); if ( Warrdate > Servicedate) { var lastdate = Warrdate;} else { var lastdate = Servicedate;} if (lastdate > Full) { $("#question174 input.radio:first").click();} else { $("#question174 input.radio:last").click();;} if (name === 'Portable') { $("#question177 input.radio:first").click();} else { } }); }; }; }; </script> Bearbeitet 12. Juni 2013 von king_and1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 Gewoehn dir mal einen ordentlichen Schreibstil an, zumindest mir vergeht bei "Leudde" schon alles. Zumindest benutzt du jetzt schonmal die Code Tags. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 12. Juni 2013 Autor Teilen Geschrieben 12. Juni 2013 Gewöhn doch du dir nen nicht normalen Schreibstil an. Mir vergeht bei "Gewoehn" schon alles bei dir Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 Im Gegensatz zu dir suche ich keine Hilfe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Max_Power Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 Unnötig wegen eines Schreibstils aufeinander los zugehen... Manchmal wird das Forum echt von pingeligen "Kindern" zermartert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der Kleine Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 Gewöhn doch du dir nen nicht normalen Schreibstil an. Mir vergeht bei "Gewoehn" schon alles bei dir Nicht jede meiner Tastatur hat auch Umlaute. Da ist manchmal ein oe schon ganz hilfreich. Kannst du mal bitte Konfigurationen der Server, sowie Fehlermeldungen mitteilen? Sehr strange Sache würd ich mal sagen :cool: Nö, Fehlersuche gehört zum täglichen Business. Und mein Business ist nicht strange. Freue mich schon auf euere Gedankenergüsse..... :beagolisc Keine Ergüsse kurz vor Feierarbeit. Eventuell Anstösse bei der Hilfe zur Selbsthilfe. Ein Leudd. *So Feierabend* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tom87 Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 (bearbeitet) Lasse ich nun die Seite auf dem Testserver laufen, funktioniert alles einwandfrei. Alles so wie ich es wollte und wie es sein sollte. Probier ich das nun , mit exakt dem selben Code( natürlich sind URL´s , ElementID´s und weiteres angepasst) und den selben PHP´s auf dem Liveserver , schmiert es mir schon nach dem ersten AJAX request ab..... Wenn es auf dem Testserver funktioniert, tippe ich mal auf deine Anpassungen. Hast du die PHP Dateien überprüft (passen die auch so für den Liveserver). Ist auf dem Liveserver ein anderer Webserver installiert/ist die Config identisch zum Testserver. PS: JavaScript ist kein Java! Edit: Bekommst du irgendwelche Fehlermeldungen? Edit: if (name === 'Portable') { $("#question177 input.radio:first").click();} else { } warum das else? Bearbeitet 12. Juni 2013 von Tom87 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 12. Juni 2013 Autor Teilen Geschrieben 12. Juni 2013 Also ich kriege keine Fehlermeldungen , das ist ja eig auch das was mich an dem ganzen am meisten Interessiert. Also mit Firebug zumindest , was anderes habe ich nicht da fürs monitoring. Die Server sind alle identisch , von der Version , vom Aufbau, plugins , programme und so weiter ist alles gleich. Die Php´s sind auch alle in ordnung. und angepasst muss an denen aufgrund vom wechsel vom Test in Liveserver nix. Ins else kommt später eine funktion , da ist aber die Website noch nicht weitgenug aufgebaut. Meiner Meinung kann das ganze nur am Server selber liegen. Aba da die Hauptursachen schon geprüft wurden und sie mit sicherheit nicht das Fehlverhalten verursachen, würde ich gern wissen weshalb sowas noch auftreten kann ? Also ob ihr noch andere Gründe des Servers kennt, ausser das da was geändert wurde oder sie nicht übereinstimmen. Was ich noch dazu erwähnen könnte ist: Das ganze hat vor kurzem auch auf dem Liveserver funktioniert. Seit der Erkenntniss das ich damit soweit wie es momentan möglich ist fertig bin und alles läuft habe ich da nix mehr dran gemacht oder verändert. Deswegen ist das ganze noch unverständlicher für mich als es eh schon ist Hoffe ich wecke damit auch einwenig Interesse bei euch, da es mir nicht wirklich um Hilfe geht , (Sehr geehrter) a3quit4s. Also , lasst die Köpfe rauchen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Der Kleine Geschrieben 12. Juni 2013 Teilen Geschrieben 12. Juni 2013 Meine Glaskugel ist irgendwie beschlagen heute. Ich glaube es liegt am Klima: Kannst du mal bitte Konfigurationen der Server, sowie Fehlermeldungen / Fehlerverhalten mitteilen? *geschrieben von der Tastatur ohne Umlaute, die ich auch gar nicht brauchte, bis jetzt* PS: Du merkst vielleicht, dass meine Angaben fuer Dich genauso sinnvoll sind, wie Deine Angaben fuer uns. Ohne Fakten raetseln wir nur. Sind beide Server bei Dir im Haus? Ist die Anwendung hausintern (Intranet) oder extern (Internet)? Liegen Firewalls vor? Habt Ihr Netzwerk, wo beide Rechner dazugehoeren? Sind beide Server und Webserver identisch konfiguriert (mit identischen Programmversionen)? Gibt es einen speziellen Grund fuer einen Testserver und einen Liveserver? Falls ja, liegen unterschiedliche Daten vor? Sind die Rechte gleichverteilt? Sind beide IP-Adressen anpingbar? ... Vielleicht als Einstieg soviel, ohne das gleich der Kopf raucht. Fehlersuche kann auch Spass machen, wenn man die Fehler dann findet. Wichtig ist, das grosse Problem (Geht nicht) in viele kleine moegliche Probleme zu unterteilen und diese solange abzugleichen, bis der Fehler eindeutig identifiziert ist und der Admin wieder etwas gelernt hat. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 17. Juni 2013 Autor Teilen Geschrieben 17. Juni 2013 Moin moin, ich kann euch wirklich nicht viel sagen ausser das es beinahe keinen unterschied gibt zwischen dem Test und dem Liveserver. Beide sind identisch konfiguriert und haben auch zu 90% die selben Programme plugins pipapo installiert. Hier läuft alles durch einen DNS server anschliessend durch eine Firewall und eine VPN . Beide Server werden so gehandelt. Beide Server funktionieren, da wie schon erwähnt auf dem Testserver mein Code und unter anderem noch homepages und andere Sachen laufen und auch funktionieren. Auf dem Live server sind momentan unsere eigene Homepage so wie diverse Projekte am laufen. Also beide funktionieren. Zweck der beiden Server ist nur das ausprobieren und das beseitigen von Fehlern auf dem Testserver bevor das ganze dan Live geht. Komisch ist an dem ganzen , das am Freitag oda Donnerstag , mein "projekt" am Liveserver funktionierte.... Seitdem aber wieder nicht. Ich möchte hier bitten sich sehr drauf zu konzentrieren, wie und warum ein funktionierendes Projekt ohne Veränderungen nicht mehr funktioniert ?? Es wurde nichts am Server gemacht weder TEst nocht Live und auch nix an PHP´s dem Code oder sonst was .. :/ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 17. Juni 2013 Autor Teilen Geschrieben 17. Juni 2013 Kriege seit heute folgenden Fehler im Firebug: Mir persönlich sagt das grad nix , ausser das eventuell mit der XML was ned stimmt , warum kommt das dan aber nicht auch beim Testserver ? oO Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 17. Juni 2013 Teilen Geschrieben 17. Juni 2013 https://de.wikipedia.org/wiki/Same-Origin-Policy <- ist wohl die Ursache des Übels... (geraten) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 17. Juni 2013 Autor Teilen Geschrieben 17. Juni 2013 Möglich wäre es ... Aber nun die Frage : Warum hat es dan schon mal funktioniert ? Es funktionierte Wochenlang ohne probleme. Seit 2 Wochen geht aber gar nix , ausser an einem Tag. Wie würdet ihr das erklären ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 17. Juni 2013 Autor Teilen Geschrieben 17. Juni 2013 Mit Josef Pfleger´s "FORCE CORS" Plugin für Firefox funktioniert das ganze nun. Leider ist das als Lösung nur für mich grade Möglich. (Können ja nicht die späteren User alle zwingen sich das Plugin zu installieren...) Hat vielleicht jemand anhand der neuen Erkenntnisse ne Idee wie das Problem zu fixxen ist ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lilith2k3 Geschrieben 17. Juni 2013 Teilen Geschrieben 17. Juni 2013 Hat vielleicht jemand anhand der neuen Erkenntnisse ne Idee wie das Problem zu fixxen ist ? Ja. Sorge dafür, dass keine Verstöße gegen die SOP vorliegen JSONP scheidet aus, da hier XML und kein JSOn übetragen wird. Vielleicht hilft Dir ja das weiter: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 17. Juni 2013 Autor Teilen Geschrieben 17. Juni 2013 Kann ich meinem .js Code einen Header mitgeben oder muss ich das in der angesprochenen PHP machen ? Habe den Server (Apache) jetzt für CORS konfiguriert: header('Access-Control-Allow-Origin: *'); header(‘Access-Control-Allow-Methods: POST,GET,DELETE,PUT,OPTIONS’); header(‘Access-Control-Allow-Headers: X-Authorization,X-Requested-With’); Leider funktioniert das ganze ohne das FORCECORS Plugin immernoch nicht. Weil im Antwort Header des Request´s keine Access-Control-Allow Header vorhanden sind... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 17. Juni 2013 Autor Teilen Geschrieben 17. Juni 2013 Problem Gelöst. Danke an alle für die vielen Antworten und eure Hilfe !!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 18. Juni 2013 Teilen Geschrieben 18. Juni 2013 und auch hier wieder die Frage: Wie hast du es geloest? So ist der Thread fuer niemanden zu gebrauchen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
king_and1 Geschrieben 18. Juni 2013 Autor Teilen Geschrieben 18. Juni 2013 Achso , ja sorry . Also gelöst habe ich das ganze in dem ich "lilith2k3" Tipp gefolgt bin und mich etwas genauer über SOP(Same-Origin-Policy) und über CORS(Cross-Origin Resource Sharing) informiert habe. Das ganze kann ganz leicht gehandelt werden: In der config file seines Servers (bei mir Apache) fügt man im Kopf : header set Access-Control-Allow-Origin: '*' <-- ( * Steht für "ALLE"; Alternativ zb. "www.example.com" um nur eine Domain zu erlauben) header Access-Control-Allow-Methods POST,GET,DELETE,PUT,OPTIONS header Access-Control-Allow-Headers X-Authorization,X-Requested-With ein. Und anschliessend in der PHP oder HTML datei je nachdem wie man das grade macht, das in den Kopf: header('Access-Control-Allow-Origin: *'); header(‘Access-Control-Allow-Methods: POST,GET,DELETE,PUT,OPTIONS’); header(‘Access-Control-Allow-Headers: X-Authorization,X-Requested-With’); Somit sollte das ganze einwandfrei funktionieren Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.